Azure SDK for JavaScript (August 2024)
The Azure SDK team is pleased to announce our August 2024 client library releases.
39 packages released this month.
Stable Packages (15)
-
App Configuration
-
Azure AI Search
-
Cosmos DB
-
Resource Management - Compute
-
Resource Management - Container Apps
-
Resource Management - Container Service
-
Resource Management - Data Protection
-
Resource Management - NetApp Files
-
Resource Management - Network
-
Resource Management - Qumulo
-
Resource Management - Redis
-
Storage - Blobs
-
Storage - Files Data Lake
-
Storage - Files Share
-
Storage - Queues
Patch Updates (8)
-
Communication Chat
-
Core - Client - AMQP
-
Core - Client - Core Rest Pipeline
-
Core - Client - Core Utils
-
Core - Client - Logger
-
Core - Client - XML
-
Identity
-
Monitor Query
Beta Packages (15)
-
Communication Call Automation
-
Health Deidentification
-
OpenAI
-
Resource Management - Azure AI Search
-
Resource Management - Computefleet
-
Resource Management - Container Service
-
Resource Management - Edgezones
-
Resource Management - Hybrid Compute
-
Resource Management - Mongocluster
-
Resource Management - Redhatopenshift
-
Resource Management - Servicefabricmanagedclusters
-
Storage - Blobs
-
Storage - Files Data Lake
-
Storage - Files Share
-
Storage - Queues
Release highlights
App Configuration 1.7.0 Changelog
Features Added
- Support
listLabels
method to list all the labels in the configuration setting store.
Example:
const allLabels = client.listLabels();
See listLabels.ts
for more information now how to use this feature
- Add
tagsFilter
in the option bag forlistConfigurationSettings
method. This feature allows you to filter configuration settings by specifying tags.
Example:
const allProdTags = client.listConfigurationSettings({
tagsFilter: ["production=prod*"],
});
See listConfigurationSettings.ts
for more information now how to use this feature.
- Add
tagsFilter
inConfigurationSettingsFilter
so that you can create snapshot by filtering configuration settings tags.
Azure AI Search 12.1.0 Changelog
Features Added
- Added support for text queries against vector fields #30494
- Create text queries against vector fields with the
VectorizedTextQuery
variant ofVectorQuery
. Such queries are supported by configuring the corresponding index field with aVectorSearchVectorizer
. This configuration describes a delegate, which the service uses to generate vector embeddings for the query text. - Added
AzureOpenAIEmbeddingSkill
to allow forSearchIndexer
s to populate embedding fields at index-time. - Added index configuration for vector quantization through
VectorSearchCompression
Bugs Fixed
- Improved serialization performance on large payloads #29597
Communication Call Automation 1.3.0-beta.1 Changelog
Features Added
- Support multiple play sources for Play and Recognize
- Support for PlayStarted event in Play/Recognize
- Support for the real time transcription
- Monetization for real-time transcription and audio streaming
- Hold and Unhold the participant
- Support to manage the rooms/servercall/group call using connect API
- Support for the audio streaming
- Expose original PSTN number target from incoming call event in call connection properties
- Support for VoIP to PSTN transfer scenario
Communication Chat 1.5.2 Changelog
Other Changes
- Updated to @azure/communication-signaling@1.0.0-beta.28 with React Native support.
- Updated @azure/core-client and @azure/core-rest-pipeline version.
Core - Client - AMQP 4.3.2 Changelog
- Adding React-Native support at top level PR #30521
Core - Client - Core Rest Pipeline 1.16.3 Changelog
Other Changes
- The
request
andresponse
properties onRestError
are now non-enumerable. - Adding React-Native support at top level PR #30521
Core - Client - Core Utils 1.9.2 Changelog
Other Changes
- Adding React-Native support at top level PR #30521
Core - Client - Logger 1.1.4 Changelog
Other Changes
- Adding React-Native support at top level PR #30521
Core - Client - XML 1.4.3 Changelog
Other Changes
- Adding React-Native support at top level PR #30493
Cosmos DB 4.1.0 Changelog
Features Added
- Vector Search: This feature introduces vector indexes, vector embedding policy and vector queries to enable vector similarity search in JS SDK. docs
- All versions and deletes mode in change feed: The All versions and deletes mode is added in change feed mode which captures every version and every change (create, update, and delete) made to items. docs
- Bypassing integrated cache: The option to bypass integrated cache is now available in
RequestOptions
. docs - Computed Properties: Support for adding Computed Properties in items is added. docs
- Composite Indexing: The JS SDK now supports including composite indexes in the indexing policy, improving query performance on multiple fields. docs
- Correlated Activity Id: Correlated Activity Id is added in header of every query request on Items. This helps in troubleshooting by linking all requests for a query that involves multiple server interactions and partitions. Correlated Activity Id can be accessed through query response headers or
response.correlatedActivityId
. - Split proof Bulk API: Earlier, whenever Bulk API encountered a partition split during processing, it would return an error message. Now, JS SDK ensures that the Bulk API is resistant to partition split. #18682
- Improved samples: The samples have been updated in this release, now organized into two folders:
v3
for features up to the v3 release, andv4
for features up to the v4 release. - Added support for MakeList and MakeSet query aggregators
Vector Search
- The following sample shows how to create a container with vector embedding and indexing policies.
// define vector indexing policy
const vectorEmbeddingPolicy = {
vectorEmbeddings: [
{
path: "/vector1",
dataType: VectorEmbeddingDataType.UInt8,
dimensions: 1000,
distanceFunction: VectorEmbeddingDistanceFunction.Euclidean,
},
{
path: "/vector2",
dataType: VectorEmbeddingDataType.Int8,
dimensions: 200,
distanceFunction: VectorEmbeddingDistanceFunction.DotProduct,
},
{
path: "/vector3",
dataType: VectorEmbeddingDataType.UInt8,
dimensions: 400,
distanceFunction: VectorEmbeddingDistanceFunction.Cosine,
},
],
};
// add vector indexes in Indexing Policy
const indexingPolicy = {
automatic: true,
indexingMode: "consistent",
vectorIndexes: [
{ path: "/vector1", type: VectorIndexType.Flat },
{ path: "/vector2", type: VectorIndexType.QuantizedFlat },
{ path: "/vector3", type: VectorIndexType.DiskANN },
],
};
// define and create container with vector Embedding Policy
const containerDefinition = {
id: containerId,
partitionKey: { paths: ["/id"] },
indexingPolicy: indexingPolicy,
vectorEmbeddingPolicy: vectorEmbeddingPolicy,
};
await database.containers.createIfNotExists(containerDefinition);
- Vector Search queries without TOP or LIMIT+OFFSET are blocked by default, with an option to disable this check using
allowUnboundedNonStreamingQueries
in query FeedOptions. Also added an internal buffer size check to prevent excessive memory consumption, throwing errors if the buffer size exceeds the default. The max buffer size can be increased using thevectorSearchBufferSize
option from query FeedOptions.
Change Feed - All versions and deletes mode
- The AllVersionsAndDeletes mode is only supported with
ChangeFeedStartFrom.Now
andChangeFeedStartFrom.Continuation
. - To read from the change feed in all versions and deletes mode, include
changeFeedMode
in changeFeedIteratorOptions:
const changeFeedIteratorOptions: ChangeFeedIteratorOptions = {
maxItemCount: 5,
changeFeedStartFrom: ChangeFeedStartFrom.Now(),
changeFeedMode: ChangeFeedMode.AllVersionsAndDeletes,
};
const iterator = container.items.getChangeFeedIterator(changeFeedIteratorOptions);
Bypassing Integrated Cache
- Here is a sample showing how to enable
bypassIntegratedCache
in RequestOptions.
const options: RequestOptions = {bypassIntegratedCache: true};
const response = await container.item("1").read(options);
Computed Properties
- The following snippet configures computed properties for a container:
const computedProperties: ComputedProperty[] = [{
name: "lowerLastName",
query:
"SELECT VALUE LOWER(IS_DEFINED(c.lastName) ? c.lastName : c.parents[0].familyName) FROM c",
},];
const { resource: containerdef } = await database.containers.createIfNotExists({
id: containerName,
computedProperties: computedProperties,
indexingPolicy: indexingPolicy,
});
const container: Container = database.container(containerdef.id);
Composite Indexing
- Here’s a sample of adding composite indexes for a container:
const containerDefinition: ContainerDefinition = {
id: "containerWithCompositeIndexingPolicy",
indexingPolicy: {
automatic: true,
indexingMode: IndexingMode.consistent,
includedPaths: [
{
path: "/*",
},
],
excludedPaths: [],
compositeIndexes: [
[
{ path: "/key", order: "ascending" },
{ path: "/field", order: "ascending" },
],
],
},
};
await database.containers.create(containerDefinition);
- Added support for passing a custom
HttpClient
when constructing aCosmosClient
.
Bugs Fixed
- Fix Bulk operations(Read, Delete, and Patch) failing due to wrong format of partition key in non-partitioned container.
Breaking Changes
Dropped Support for TypeScript 4.1
- We have opted to discontinue support for TypeScript version 4.1. Consequently, the minimum supported TypeScript version has been elevated to 4.2. Kindly ensure that your environment is promptly updated to align with these changes.
Health Deidentification 1.0.0-beta.1 Changelog
Features Added
- Azure Deidentification client library for JS. This package contains Microsoft Azure Deidentification client library.
Identity 4.4.1 Changelog
Bugs Fixed
- Improved error messages for
AzurePipelinesCredential
for Authentication Failed scenarios. #30387 - Improved token parsing for
AzurePowerShellCredential
even with warning messages. #30508
Monitor Query 1.3.1 Changelog
Bugs Fixed
- Fixed the
audience
values forMetricsQueryClient
andMetricsClient
.
OpenAI 2.0.0-beta.1 Changelog
Features Added
- Adds subpath
@azure/openai/types
which exports types for Azure On Your Data and Azure content filtering. Checkout the samples folder for examples of how to import it.
Breaking Changes
OpenAIClient
has been deleted. Follow the migration guide to useAzureOpenAI
from the official OpenAI client library for JavaScript instead.
Resource Management - Azure AI Search 4.0.0-beta.1 Changelog
Resource Management - Compute 22.0.0 Changelog
Resource Management - Computefleet 1.0.0-beta.1 Changelog
Resource Management - Container Apps 2.1.0 Changelog
Resource Management - Container Service 20.1.0-beta.1 Changelog
Resource Management - Container Service 21.0.0 Changelog
Resource Management - Data Protection 2.1.0 Changelog
Resource Management - Edgezones 1.0.0-beta.1 Changelog
Resource Management - Edgezones 1.0.0-beta.2 Changelog
Resource Management - Hybrid Compute 4.0.0-beta.3 Changelog
Resource Management - Mongocluster 1.0.0-beta.2 Changelog
Resource Management - NetApp Files 21.1.0 Changelog
Resource Management - Network 33.3.0 Changelog
Resource Management - Qumulo 2.0.0 Changelog
Resource Management - Redhatopenshift 1.0.0-beta.1 Changelog
Resource Management - Redis 8.1.0 Changelog
Resource Management - Servicefabricmanagedclusters 1.0.0-beta.1 Changelog
Storage - Blobs 12.24.0 Changelog
Features Added
- Includes all features released in 12.24.0-beta.1.
Bugs Fixed
- Correct content-length header with request body length. (#30138)
Storage - Blobs 12.25.0-beta.1 Changelog
Features Added
- Added support for service version 2024-11-04.
- Added ability to retrieve SAS string to sign for debugging purposes.
Storage - Files Data Lake 12.23.0 Changelog
Features Added
- Includes all features released in 12.23.0-beta.1.
Bugs Fixed
- Correct content-length header with request body length. (#30138)
Storage - Files Data Lake 12.24.0-beta.1 Changelog
Features Added
- Added support for service version 2024-11-04.
- Added ability to retrieve SAS string to sign for debugging purposes.
Storage - Files Share 12.24.0 Changelog
Features Added
- Includes all features released in 12.24.0-beta.1.
Bugs Fixed
- Correct content-length header with request body length. (#30138)
Storage - Files Share 12.25.0-beta.1 Changelog
Features Added
- Added support for service version 2024-11-04.
- Added support for token-based authentication for all APIs.
- Added support for paid bursting on premium file share accounts.
- Added support for binary format for file permissions.
- Added ability to retrieve SAS string to sign for debugging purposes.
Storage - Queues 12.23.0 Changelog
Features Added
- Includes all features released in 12.23.0-beta.1.
Bugs Fixed
- Correct content-length header with request body length. (#30138)
Storage - Queues 12.24.0-beta.1 Changelog
Features Added
- Added support for service version 2024-11-04.
- Added ability to retrieve SAS string to sign for debugging purposes.
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/health-deidentification@1.0.0-beta.1
$> npm install @azure/app-configuration@1.7.0
$> npm install @azure/arm-appcontainers@2.1.0
$> npm install @azure/arm-compute@22.0.0
$> npm install @azure/arm-computefleet@1.0.0-beta.1
$> npm install @azure/arm-containerservice@20.1.0-beta.1
$> npm install @azure/arm-containerservice@21.0.0
$> npm install @azure/arm-dataprotection@2.1.0
$> npm install @azure/arm-edgezones@1.0.0-beta.1
$> npm install @azure/arm-edgezones@1.0.0-beta.2
$> npm install @azure/arm-hybridcompute@4.0.0-beta.3
$> npm install @azure/arm-mongocluster@1.0.0-beta.2
$> npm install @azure/arm-netapp@21.1.0
$> npm install @azure/arm-network@33.3.0
$> npm install @azure/arm-qumulo@2.0.0
$> npm install @azure/arm-redhatopenshift@1.0.0-beta.1
$> npm install @azure/arm-rediscache@8.1.0
$> npm install @azure/arm-search@4.0.0-beta.1
$> npm install @azure/arm-servicefabricmanagedclusters@1.0.0-beta.1
$> npm install @azure/communication-call-automation@1.3.0-beta.1
$> npm install @azure/communication-chat@1.5.2
$> npm install @azure/core-amqp@4.3.2
$> npm install @azure/core-rest-pipeline@1.16.3
$> npm install @azure/core-util@1.9.2
$> npm install @azure/core-xml@1.4.3
$> npm install @azure/cosmos@4.1.0
$> npm install @azure/identity@4.4.1
$> npm install @azure/logger@1.1.4
$> npm install @azure/monitor-query@1.3.1
$> npm install @azure/openai@2.0.0-beta.1
$> npm install @azure/search-documents@12.1.0
$> npm install @azure/storage-blob@12.24.0
$> npm install @azure/storage-blob@12.25.0-beta.1
$> npm install @azure/storage-file-datalake@12.23.0
$> npm install @azure/storage-file-datalake@12.24.0-beta.1
$> npm install @azure/storage-file-share@12.24.0
$> npm install @azure/storage-file-share@12.25.0-beta.1
$> npm install @azure/storage-queue@12.23.0
$> npm install @azure/storage-queue@12.24.0-beta.1
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