The Azure SDK team is pleased to announce our May 2021 client library releases.

GA

  • Communication Phone Numbers

  • Core - AMQP

  • Event Grid

  • Service Bus

Updates

  • Core - Client

  • Cosmos DB

  • Event Hubs

Beta

  • @azure-rest/ai-document-translator

  • @azure-rest/core-client

  • Azure Confidential Ledger

  • Azure Core Utils

  • Azure Purview Catalog

  • Azure Purview Scanning

  • Azure Web Pubsub

  • Azure Web Pubsub CloudEvents Handlers for Express

  • Cognitive Search

  • Container Registry

  • Core Rest Pipeline

  • Identity

  • Service Bus

  • Storage - Blobs

  • Storage - Files Data Lake

  • Tables

  • Text Analytics

  • Web PubSub

Release highlights

@azure-rest/ai-document-translator 1.0.0-beta.1 Changelog

  • First release of package, see README.md for details.

@azure-rest/core-client 1.0.0-beta.1 Changelog

  • First release of package, see README.md for details.

@azure-rest/core-client 1.0.0-beta.2 Changelog

  • Add CertificateCredential to support client certificate authentication. #15172

Azure Confidential Ledger 1.0.0-beta.1 Changelog

  • First release of package, see README.md for details.

Azure Confidential Ledger 1.0.0-beta.2 Changelog

  • First release of package, see README.md for details.

Azure Core Utils 1.0.0-beta.1 Changelog

Features Added

  • First release of package. This package is intended to provide various shared utility functions for client SDK packages.

Azure Purview Catalog 1.0.0-beta.1 Changelog

  • First release of package, see README.md for details.

Azure Purview Scanning 1.0.0-beta.1 Changelog

  • First release of package, see README.md for details.

Azure Web Pubsub 1.0.0-beta.1 Changelog

This is the first release of the @azure/web-pubsub package.

Azure Web Pubsub CloudEvents Handlers for Express 1.0.0-beta.1 Changelog

This is the first release of the @azure/web-pubsub-express package.

Cognitive Search 11.2.0-beta.2 Changelog

  • Added Support for Semantic Search and introduced new properties in SearchOptions, SearchRequest, SearchResult and SearchDocumentsResult objects.
  • Added support for Knowledge Store feature through the new SearchIndexerKnowledgeStore in the SearchIndexerSkillset object.
  • The skillsetCounter property in ServiceCounters object has been made optional.

Communication Phone Numbers 1.0.0 Changelog

  • Update version to 1.0.0

Container Registry 1.0.0-beta.2 Changelog

Features Added

  • Added new properties to allow easier interaction with other docker tools:
    • loginServer in ContainerRegistryClient.
    • fullyQualifiedName in ContainerRepository
  • Added support for anonymous access. See the service documentation for more information.

Breaking Changes

The public API surface of this library has been re-designed. Notable changes include

  • Removed: ContainerRepositoryClient. Operations on repositories are now grouped in ContainerRepository type and operations on artifacts are now in RegistryArtifact type. Some *Options types are also renamed accordingly.
  • Renamed: endpoint property is renamed to registryUrl.
  • Renamed: listRepositories() is renamed to listRepositoryNames() in ContainerRegistryClient.
  • Renamed: “RegistryArtifact” in property or function names replaced by “Manifest”.
  • Renamed: *OrderBy values is now capitalized as timeDesc and timeAsc. Previously they are all in lower case.

Core - AMQP 2.3.0 Changelog

  • Updates AmqpAnnotatedMessage to identify the AMQP section where body data was decoded from. PR 14703.
  • Adds CancellableAsyncLock as an alternative to AsyncLock that supports cancellation via the abort signal. PR 14844.

Core - Client 1.1.1 Changelog

Features Added

  • Expose allowInsecureConnection in ServiceClientOptions and OperationRequestOptions to allow operation requests to HTTP endpoints

Fixed

  • Consider more mapper types as primitive thus requires wrapping

Core - Client 1.1.2 Changelog

  • Fixed an issue to check for the mandatory parameter in the header and query values. PR 15278

Core Rest Pipeline 1.1.0-beta.1 Changelog

Features Added

  • Add a new bearerTokenChallengeAuthenticationPolicy that provides a skeleton of handling challenge-based authorization. There are two extensible points: authorizeRequest and authorizeRequestOnChallenge callbacks.
    • authorizeRequest allows customizing the policy to alter how it authorizes a request before sending it. By default when no callbacks are specified, this policy has the same behavior as bearerTokenAuthenticationPolicy. It will retrieve the token from the underlying token credential, and if it gets one, it will cache the token and set it to the outgoing request.
    • authorizeRequestOnChallenge, which gets called only if we’ve found a challenge in the response. This callback has access to the original request and its response and is expected to handle the challenge. If this callback returns true, the request, usually updated after handling the challenge, will be sent again. If this call back returns false, no further actions will be taken.

Fixed

  • Rewrote bearerTokenAuthenticationPolicy to use a new backend that refreshes tokens only when they’re about to expire and not multiple times before. This is based on a similar fix implemented on @azure/core-http@1.2.4 (PR with the changes). This fixes the issue: 13369.
  • Delay loading of NO_PROXY environment variable until when request pipeline is being created. This fixes issue 14873

Core Rest Pipeline 1.1.0-beta.2 Changelog

  • Fixed an issue to set the Content-Length header correctly when using multibyte characters. PR 15314

Fixed

  • Fixed an issue where tracing spans were not setting a status correctly (on success or error) which results in the span status being UNSET. In addition, we will now capture the HTTP status code when a request fails in the tracing span. PR 15061

Cosmos DB 3.11.1 Changelog

  • BUGFIX: Import URL from Browser/Node shim rather than built-in module.

Cosmos DB 3.11.2 Changelog

  • BUGFIX: Cache https client between requests.

Cosmos DB 3.11.3 Changelog

  • BUGFIX: Sanitize user endpoint URLs for AAD DataPlane RBAC token generation.

Event Grid 4.2.0 Changelog

New Features

  • Added new System Events: “Microsoft.PolicyInsights.PolicyStateCreated”, “Microsoft.PolicyInsights.PolicyStateChanged”, “Microsoft.PolicyInsights.PolicyStateDeleted”, “Microsoft.Storage.AsyncOperationInitiated”, “Microsoft.Storage.BlobTierChanged”.

Event Hubs 5.5.1 Changelog

  • Fixes a race condition that would cause connection recovery to sometimes fail if a consumer or producer was closed at the same time a connection was disconnected.
  • Fixes issue #14606 where the EventHubConsumerClient could call subscribe’s processError callback with a “Too much pending tasks” error. This could occur if the consumer was unable to connect to the service for an extended period of time.
  • Fixes issue #15002 where in rare cases an unexpected TypeError could be thrown from EventHubProducerClient.sendBatch when the connection was disconnected while sending events was in progress.

Identity 2.0.0-beta.3 Changelog

New features

  • Azure Identity for JavaScript no longer carries any native dependencies (neither ordinary, peer, nor optional dependencies). Previous distributions of @azure/identity carried an optional dependency on keytar, which caused issues for some users in restrictive environments.
  • Updated the @azure/msal-node dependency to version ^1.0.2, which allows cancelling of an ongoing getToken() operation on DeviceCodeCredential.
  • Fixed issue with the logging of success messages on the DefaultAzureCredential and the ChainedTokenCredential. These messages will now mention the internal credential that succeeded.
  • AuthenticationRequiredError (introduced in 2.0.0-beta.1) now has the same impact on ChainedTokenCredential as the CredentialUnavailableError which is to allow the next credential in the chain to be tried.
  • ManagedIdentityCredential now retries with exponential back-off when a request for a token fails with a 404 status code on environments with available IMDS endpoints.
  • Added an AzurePowerShellCredential which will use the authenticated user session from the Az.Account PowerShell module. This credential will attempt to use PowerShell Core by calling pwsh, and on Windows it will fall back to Windows PowerShell (powershell) if PowerShell Core is not available.

Breaking changes from 2.0.0-beta.1

  • Removed VisualStudioCodeCredential, as it requires us to list keytar as an optional dependency. keytar containes machine-code components that are difficult to build in certain environments, so this credential will be offered through a separate extension package in the future.
  • Removed token persistence through @azure/msal-node-extensions, as its machine-code components have the same problems as keytar. This functionality will similarly be reintroduced through a separate extension package in the future.
  • Removed authenticationRecord, disableAutomaticAuthentication and authenticate() from the credential UsernamePasswordCredential. While MSAL does support this, allowing authenticationRecord arguably could result in users authenticating through an account other than the one they’re specifying with the username and the password.

Service Bus 7.1.0 Changelog

New Features

  • Adds support for passing NamedKeyCredential as the credential type to ServiceBusClient and ServiceBusAdminstrationClient. Also adds support for passing SASCredential to ServiceBusClient. These credential types support rotation via their update methods and are an alternative to using the SharedAccessKeyName/SharedAccessKey or SharedAccessSignature properties in a connection string. Resolves #11891.

Bug fixes

  • [Bug Fix] expiresAtUtc is Invalid Date in the received message when the ttl is not defined. Has been fixed in #13543
  • Some of the queue properties such as “forwardTo” and “autoDeleteOnIdle” were not being set as requested through the ServiceBusAdministrationClient.createQueue method because of a bug w.r.t the ordering of XML properties. The issue has been fixed in #14692.
  • Settling messages now use the retryOptions passed to ServiceBusClient, making it more resilient against network failures. PR#14867
  • Fixes an issue where receiver link recovery/creation could fail, resulting in a receiver that was no longer receiving messages. PR#15098

Service Bus 7.2.0-beta.1 Changelog

New Features

  • Enable encoding the body of a message to the ‘value’ or ‘sequence’ sections (via AmqpAnnotatedMessage.bodyType). Using this encoding is not required but does allow you to take advantage of native AMQP serialization for supported primitives or sequences.

Storage - Blobs 12.6.0-beta.1 Changelog

  • Updated Azure Storage Service API version to 2020-08-04.
  • Restoring deleted container doesn’t support renaming anymore, deprecated destinationContainerName in ServiceUndeleteContainerOptions for BlobServiceClient.undeleteContainer().

Storage - Files Data Lake 12.5.0-beta.1 Changelog

  • Updated Azure Storage Service API version to 2020-08-04.
  • Added support for Path Soft Delete. You can list the deleted paths via DataLakeFileSystemClient.listDeletedPaths(), and restore a deleted path via DataLakeFileSystemClient.undeletePath().
  • Restoring deleted FileSystem doesn’t support renaming anymore, deprecated destinationFileSystemName in ServiceUndeleteFileSystemOptions for DataLakeServiceClient.undeleteFileSystem().

Tables 12.0.0-beta.3 Changelog

  • Update and Upsert operations have “merge” as default update mode. #14956
  • Expose Table Service url as a public client property. #14956
  • Make list and get entity methods have a default template type of Record for better UX. #14956

Breaking Changes

  • Enable Type conversion of DateTime -> Date and Int64 -> bigint by default. Allow disabling type conversion with disableTypeConversion option in the get and list operations. #15307
  • Node.js v8 support is dropped as it has reached end of life #15307
  • Rename Batch to Transaction and redesign submitTransaction to provide a more declarative interface. #15250
  • createTable and deleteTable don’t throw on 409 or 404 respectively. Return type becomes Promise<void>. #14956
  • Clean up method options. #14956
  • Remove continuation tokens from options on list methods. #14956

Text Analytics 5.1.0-beta.6 Changelog

New Features

  • We are now targeting the service’s v3.1-preview.5 API as the default instead of v3.1-preview.4.
  • beginAnalyzeActions adds support for analyze sentiment actions.
  • disableServiceLogs parameter is added to most actions in beginAnalyzeActions that controls service-side logging.

Breaking Changes

  • beginAnalyzeBatchActions was renamed to beginAnalyzeActions.
  • TextElements_v8 is renamed to TextElement_v8 in model StringIndexType.

Key Bug Fixes

  • Results of entity linking actions were not returned correctly by beginAnalyzeActions and that is now fixed.

Web PubSub 1.0.0-beta.2 Changelog

Remove “url” dependency

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-translator@1.0.0-beta.1
$> npm install @azure-rest/confidential-ledger@1.0.0-beta.1
$> npm install @azure-rest/confidential-ledger@1.0.0-beta.2
$> npm install @azure-rest/core-client@1.0.0-beta.1
$> npm install @azure-rest/core-client@1.0.0-beta.2
$> npm install @azure-rest/purview-catalog@1.0.0-beta.1
$> npm install @azure-rest/purview-scanning@1.0.0-beta.1
$> npm install @azure/ai-text-analytics@5.1.0-beta.6
$> npm install @azure/communication-phone-numbers@1.0.0
$> npm install @azure/container-registry@1.0.0-beta.2
$> npm install @azure/core-amqp@2.3.0
$> npm install @azure/core-client@1.1.1
$> npm install @azure/core-client@1.1.2
$> npm install @azure/core-rest-pipeline@1.1.0-beta.1
$> npm install @azure/core-rest-pipeline@1.1.0-beta.2
$> npm install @azure/core-util@1.0.0-beta.1
$> npm install @azure/cosmos@3.11.1
$> npm install @azure/cosmos@3.11.2
$> npm install @azure/cosmos@3.11.3
$> npm install @azure/data-tables@12.0.0-beta.3
$> npm install @azure/event-hubs@5.5.1
$> npm install @azure/eventgrid@4.2.0
$> npm install @azure/identity@2.0.0-beta.3
$> npm install @azure/search-documents@11.2.0-beta.2
$> npm install @azure/service-bus@7.1.0
$> npm install @azure/service-bus@7.2.0-beta.1
$> npm install @azure/storage-blob@12.6.0-beta.1
$> npm install @azure/storage-file-datalake@12.5.0-beta.1
$> npm install @azure/web-pubsub@1.0.0-beta.1
$> npm install @azure/web-pubsub@1.0.0-beta.2
$> npm install @azure/web-pubsub-express@1.0.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