Azure SDK for JavaScript (January 2025)
The Azure SDK team is pleased to announce our January 2025 client library releases.
20 packages released this month.
Stable Packages (11)
-
Document Intelligence
-
Identity
-
Resource Management - Cognitive Services
-
Resource Management - Compute
-
Resource Management - Cosmos DB
-
Resource Management - Data Factory
-
Resource Management - Iotoperations
-
Resource Management - Network
-
Resource Management - Playwright Testing
-
Resource Management - Policy Insights
-
Resource Management - Postgresql
Patch Updates (3)
-
Core - Client - AMQP
-
Core - Client - Core Rest Pipeline
-
Core - Client - Rest
Beta Packages (6)
-
Communication Sms
-
Resource Management - Container Service
-
Resource Management - Cosmos DB
-
Resource Management - Device Registry
-
Resource Management - Policy
-
Resource Management - Service Fabric Managed Clusters
Release highlights
Communication Sms 1.2.0-beta.3 Changelog
Bugs Fixed
- Fixed Opt Out Remove action
Core - Client - AMQP 4.3.4 Changelog
Bugs Fixed
- Fix parsing of connection string to extract port number properly.
Core - Client - Core Rest Pipeline 1.18.2 Changelog
Bugs Fixed
- Fixed an issue where tracing spans were incorrectly marked as successful. PR #32018
Core - Client - Rest 2.3.2 Changelog
Bugs Fixed
- Allow dashes (
-
) in path parameter identifiers. PR #31731
Document Intelligence 1.0.0 Changelog
Breaking Changes
- Removes the
poller.getOperationId()
for a given polling operation. UseparseResultIdFromResponse
to extract theoperationId
directly. getLongRunningPoller
function is not async anymore, do notawait
on it.
Features Added
- Adds
streamToUint8Array
, a convenience function that buffers aNodeJS.ReadableStream
in aUint8Array
. It can be used to read the pdf and png responses from the results of an analysis.
import DocumentIntelligence from "@azure-rest/ai-document-intelligence";
import { streamToUint8Array } from "@azure-rest/ai-document-intelligence";
const client = DocumentIntelligence("<DOCUMENT_INTELLIGENCE_ENDPOINT>", {
key: "<DOCUMENT_INTELLIGENCE_API_KEY>",
});
// Do analysis on you document and get the resultId, figureId
// Example for the figures api that provides an image output
const output = await client
.path(
"/documentModels/{modelId}/analyzeResults/{resultId}/figures/{figureId}",
"prebuilt-layout",
resultId,
figureId
)
.get()
.asNodeStream(); // output.body would be NodeJS.ReadableStream
if (output.status !== "200" || !output.body) {
throw new Error("The response was unexpected, expected NodeJS.ReadableStream in the body.");
}
const imageData = await streamToUint8Array(output.body);
fs.promises.writeFile(`./figures/${figureId}.png`, imageData); // Or you can consume the NodeJS.ReadableStream directly
- Adds
parseResultIdFromResponse
, a convenience function that extracts theoperationId
from the batch analysis response.
// Example
const initialResponse = await client
.path("/documentModels/{modelId}:analyzeBatch", "prebuilt-layout")
.post({
contentType: "application/json",
body: {
azureBlobSource: {
containerUrl: batchTrainingFilesContainerUrl(),
},
resultContainerUrl: batchTrainingFilesResultContainerUrl(),
resultPrefix: "result",
},
});
if (isUnexpected(initialResponse)) {
throw initialResponse.body.error;
}
const batchResultId = parseResultIdFromResponse(initialResponse);
const response = await client
.path(
"/documentModels/{modelId}/analyzeBatchResults/{resultId}",
"prebuilt-layout",
batchResultId
)
.get();
-
Changes the following interfaces as follows:
AnalyzeBatchDocumentsBodyParam
:- Updates
body
to be required. AnalyzeBatchOperationOutput
:- Adds
resultId
. AnalyzeDocumentBodyParam
:- Changes
body
from optional to required. DocumentClassifierDetailsOutput
:- Adds
modifiedDateTime
. DocumentModelDetailsOutput
:-
Adds
modifiedDateTime
. - Introduces new interfaces to define query parameters for document analysis requests, allowing customizable
style
andexplode
options: - AnalyzeBatchDocumentsFeaturesQueryParam: Accepts DocumentAnalysisFeature[] values.
- AnalyzeBatchDocumentsOutputQueryParam: Accepts AnalyzeOutputOption[] values.
- AnalyzeBatchDocumentsQueryFieldsQueryParam: Accepts string[] values.
- AnalyzeDocumentFeaturesQueryParam: Accepts DocumentAnalysisFeature[] values.
- AnalyzeDocumentFromStreamFeaturesQueryParam: Accepts DocumentAnalysisFeature[] values.
Identity 4.6.0 Changelog
Other Changes
- Update
@azure/msal-browser
to 4.0.1 #32565
Resource Management - Cognitive Services 7.6.0 Changelog
Resource Management - Compute 22.2.0 Changelog
Resource Management - Container Service 21.4.0-beta.1 Changelog
Resource Management - Cosmos DB 16.2.0 Changelog
Resource Management - Cosmos DB 16.3.0-beta.1 Changelog
Resource Management - Data Factory 18.0.0 Changelog
Resource Management - Device Registry 1.0.0-beta.2 Changelog
Resource Management - Iotoperations 1.0.0 Changelog
Resource Management - Network 33.5.0 Changelog
Resource Management - Playwright Testing 1.0.0 Changelog
Resource Management - Policy 5.2.0-beta.1 Changelog
Resource Management - Policy Insights 6.0.0 Changelog
Resource Management - Postgresql 8.0.0 Changelog
Resource Management - Service Fabric Managed Clusters 1.0.0-beta.3 Changelog
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-document-intelligence@1.0.0
$> npm install @azure-rest/core-client@2.3.2
$> npm install @azure/arm-cognitiveservices@7.6.0
$> npm install @azure/arm-compute@22.2.0
$> npm install @azure/arm-containerservice@21.4.0-beta.1
$> npm install @azure/arm-cosmosdb@16.2.0
$> npm install @azure/arm-cosmosdb@16.3.0-beta.1
$> npm install @azure/arm-datafactory@18.0.0
$> npm install @azure/arm-deviceregistry@1.0.0-beta.2
$> npm install @azure/arm-iotoperations@1.0.0
$> npm install @azure/arm-network@33.5.0
$> npm install @azure/arm-playwrighttesting@1.0.0
$> npm install @azure/arm-policy@5.2.0-beta.1
$> npm install @azure/arm-policyinsights@6.0.0
$> npm install @azure/arm-postgresql-flexible@8.0.0
$> npm install @azure/arm-servicefabricmanagedclusters@1.0.0-beta.3
$> npm install @azure/communication-sms@1.2.0-beta.3
$> npm install @azure/core-amqp@4.3.4
$> npm install @azure/core-rest-pipeline@1.18.2
$> npm install @azure/identity@4.6.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