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. Use parseResultIdFromResponse to extract the operationId directly.
  • getLongRunningPoller function is not async anymore, do not await on it.

Features Added

  • Adds streamToUint8Array, a convenience function that buffers a NodeJS.ReadableStream in a Uint8Array. 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 the operationId 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 and explode 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