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

GA

  • App Configuration

  • Core - HTTP

  • Core - LRO

  • Core Rest Pipeline

  • Cosmos DB

  • Event Hubs

  • Identity

  • Key Vault - Administration

  • Key Vault - Certificates

  • Key Vault - Keys

  • Key Vault - Secrets

  • Metrics Advisor

  • Service Bus

  • Tables

  • Text Analytics

Updates

  • Core - Auth

  • Core - Client

  • Core - HTTP

  • Key Vault - Administration

  • Key Vault - Keys

Beta

  • Attestation

  • Cognitive Search

  • Core - Tracing

  • Identity

  • Identity Cache Persistence

  • Identity Visual Studio Code Credential

  • Key Vault - Administration

  • Key Vault - Keys

  • Monitor Query

  • Web PubSub

Installation Instructions

To install the packages, copy and paste the below into a terminal.

$> npm install @azure/ai-metrics-advisor@1.0.0
$> npm install @azure/ai-text-analytics@5.1.0
$> npm install @azure/app-configuration@1.2.0
$> npm install @azure/attestation@1.0.0-beta.4
$> npm install @azure/core-auth@1.3.1
$> npm install @azure/core-auth@1.3.2
$> npm install @azure/core-client@1.1.3
$> npm install @azure/core-client@1.2.1
$> npm install @azure/core-http@1.2.6
$> npm install @azure/core-http@2.0.0
$> npm install @azure/core-lro@2.0.0
$> npm install @azure/core-rest-pipeline@1.1.0
$> npm install @azure/core-tracing@1.0.0-preview.12
$> npm install @azure/cosmos@3.12.0
$> npm install @azure/data-tables@12.1.0
$> npm install @azure/event-hubs@5.6.0
$> npm install @azure/identity@2.0.0-beta.4
$> npm install @azure/identity@1.4.0
$> npm install @azure/identity-cache-persistence@1.0.0-beta.1
$> npm install @azure/identity-vscode@1.0.0-beta.1
$> npm install @azure/keyvault-admin@4.1.0-beta.1
$> npm install @azure/keyvault-admin@4.0.1
$> npm install @azure/keyvault-admin@4.0.0
$> npm install @azure/keyvault-certificates@4.2.0
$> npm install @azure/keyvault-keys@4.3.0-beta.1
$> npm install @azure/keyvault-keys@4.2.2
$> npm install @azure/keyvault-keys@4.2.1
$> npm install @azure/keyvault-keys@4.2.0
$> npm install @azure/keyvault-secrets@4.2.0
$> npm install @azure/monitor-query@1.0.0-beta.3
$> npm install @azure/monitor-query@1.0.0-beta.2
$> npm install @azure/search-documents@11.3.0-beta.1
$> npm install @azure/service-bus@7.3.0
$> npm install @azure/web-pubsub@1.0.0-beta.3

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

Release highlights

App Configuration 1.2.0 Changelog

Features Added

  • Special configuration settings - feature flag and secret reference are now supported. 🎉

  • For types, use ConfigurationSetting<FeatureFlagValue> and ConfigurationSetting<SecretReferenceValue>.
  • Use parseFeatureFlag and parseSecretReference methods to parse the configuration settings into feature flag and secret reference respectively.

  • With the dropping of support for Node.js versions that are no longer in LTS, the dependency on @types/node has been updated to version 12. Read our support policy for more details.

Attestation 1.0.0-beta.4 Changelog

Key Bugs Fixed

  • Fixes the location of types definition in package.json

Features Added

  • The package now contains type definitions compatible with TypeScript versions earlier than v3.6.

Cognitive Search 11.3.0-beta.1 Changelog

  • With the dropping of support for Node.js versions that are no longer in LTS, the dependency on @types/node has been updated to version 12. Read our support policy for more details.

  • Regenerated the search SDK with the latest swaggers that includes the following changes:

  • Support for TokenCredential has been added. With this addition, the Search SDK supports authentication via AAD.
  • Identity types - SearchIndexerDataNoneIdentity & SearchIndexerDataUserAssignedIdentity have been added.
  • The following new skills have been added:
  • SentimentSkill(V3)
  • EntityLinkingSkill(V3)
  • EntityRecognitionSkill(V3)
  • PIIDetectionSkill
  • A new property lineEnding has been added to the skill OcrSkill.

Core - Auth 1.3.1 Changelog

  • Added tenantId optional property to the GetTokenOptions interface. If tenantId is set, credentials will be able to use multi-tenant authentication, in the cases when it’s enabled.

Core - Auth 1.3.2 Changelog

  • Added tenantId optional property to the GetTokenOptions interface. If tenantId is set, credentials will be able to use multi-tenant authentication, in the cases when it’s enabled.

Core - Client 1.1.3 Changelog

Key Bugs Fixed

  • Fix an issue of lost properties when flattening array in deserialization issue 15653
  • Fix an issue with appending query parameters while constructing the url. Please refer Issue #1035 for more details.

Core - Client 1.2.1 Changelog

Features Added

  • Moved allowInsecureConnection from ServiceClientOptions to CommonClientOptions issue 15938

Core - HTTP 1.2.6 Changelog

Key Bugs Fixed

  • Fixed an issue of lost properties when flattening array in deserialization issue 15653
  • Fixed an issue of incorrect minimum version of tslib issue 15697

Core - HTTP 2.0.0 Changelog

Features Added

  • Changed TS compilation target to ES2017 in order to produce smaller bundles and use more native platform features.
  • Added support for the Retry-After header on responses with status code 503, Service Unavailable.
  • Added support for multiple retries on the ThrottlingRetryPolicy (up to 3 by default).

Breaking Changes

Fixed

  • Fixed an issue where proxySettings does not work when there is username but no password Issue 15720
  • Throttling retry policy respects abort signal #15796

Core - LRO 2.0.0 Changelog

New Features

  • Changed TS compilation target to ES2017 in order to produce smaller bundles and use more native platform features

Core - Tracing 1.0.0-preview.12 Changelog

  • Update @opentelemetry/api to version 1.0.0 PR #15883

Breaking Changes

  • Removed OpenCensusSpanWrapper and OpenCensusTracerWrapper from the public API. Customers using these wrappers should migrate to using OpenTelemetry directly. PR #15770
  • Update @azure/core-tracing to version 1.0.0-preview.12. This brings core-tracing up to date with @opentelemetry/api@1.0.0.
  • Span#context was renamed to Span#spanContext. This change is supported in @azure/core-http@1.2.7.

Core Rest Pipeline 1.1.0 Changelog

Fixed

  • Fixed an issue where proxySettings does not work when there is username but no password Issue 15720

Features Added

  • Added support for the Retry-After header on responses with status code 503, Service Unavailable.
  • The ExponentialRetryPolicy will now ignore 503 responses if they have the Retry-After header.
  • Added support for multiple retries on the ThrottlingRetryPolicy (up to 3 by default).

Breaking Changes

Cosmos DB 3.12.0 Changelog

Features Added

  • With the dropping of support for Node.js versions that are no longer in LTS, the dependency on @types/node has been updated to version 12. Read our support policy for more details.
  • Added background refresher for endpoints, and new ConnectionPolicy options. Refreshing defaults to true, and the default refresh rate is every 5 minutes.
    const client = new CosmosClient({
    endpoint,
    key: masterKey,
    connectionPolicy: {
    ...defaultConnectionPolicy,
    endpointRefreshRateInMs: 700,
    enableBackgroundEndpointRefreshing: true
    }
    })
    
  • Added client.dispose() for closing the endpoint refresher verbosely. Necessary when destroying the CosmosClient inside existing processes like an express web server, or when you want to destroy the client and create a new one in the same process.
    const client = new CosmosClient()
    client.dispose() // cancels background endpoint refreshing
    

Event Hubs 5.6.0 Changelog

Features Added

  • With the dropping of support for Node.js versions that are no longer in LTS, the dependency on @types/node has been updated to version 12. Read our support policy for more details.

  • Adds the contentType, correlationId, and messageId AMQP properties as top-level fields on EventData and ReceivedEventData.

  • 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.

More information about the AMQP message body type can be found in the AMQP specification: link

Identity 2.0.0-beta.4 Changelog

Breaking Changes

  • Removed the protected method getAzureCliAccessToken from the public API of the AzureCliCredential. While it will continue to be available as part of v1, we won’t be supporting this method as part of v2’s public API.

Features Added

  • With the dropping of support for Node.js versions that are no longer in LTS, the dependency on @types/node has been updated to version 12. Read our support policy for more details.
  • Introduced an extension API through a top-level method useIdentityExtension. The function accepts an “extension” as an argument, which is a function accepting a context. The extension context is an internal part of the Azure Identity API, so it has an unknown type. Two new packages are designed to be used with this API:
  • @azure/identity-vscode, which provides the dependencies of VisualStudioCodeCredential and enables it (see more below).
  • @azure/identity-cache-persistence, which provides persistent token caching (same as was available in version 2.0.0-beta.2, but now provided through a secondary extension package).
  • Reintroduced a stub implementation of VisualStudioCodeCredential. If the @azure/identity-vscode extension is not used, then it will throw a CredentialUnavailableError (similar to how it previously behaved if the keytar package was not installed). The extension now provides the underlying implementation of VisualStudioCodeCredential through dependency injection.
  • Reintroduced the TokenCachePersistenceOptions property on most credential constructor options. This property must be present with an enabled property set to true to enable persistent token caching for a credential instance. Credentials that do not support persistent token caching do not have this property.
  • Added support to ManagedIdentityCredential for Bridge to Kubernetes local development authentication.
  • Enabled PKCE on InteractiveBrowserCredential for Node.js. Proof Key for Code Exchange (PKCE) is a security feature that mitigates authentication code interception attacks.
  • Added LoginHint property to InteractiveBrowserCredentialOptions which allows a user name to be pre-selected for interactive logins. Setting this option skips the account selection prompt and immediately attempts to login with the specified account.
  • Added regional STS support to client credential types.
  • Added the RegionalAuthority type, that allows specifying Azure regions.
  • Added regionalAuthority property to ClientSecretCredentialOptions and ClientCertificateCredentialOptions.
  • If instead of a region, AutoDiscoverRegion is specified as the value for regionalAuthority, MSAL will be used to attempt to discover the region.
  • A region can also be specified through the AZURE_REGIONAL_AUTHORITY_NAME environment variable.
  • AzureCliCredential and AzurePowerShellCredential now allow specifying a tenantId.
  • All credentials except ManagedIdentityCredential support enabling multi tenant authentication via the allowMultiTenantAuthentication option.

Key Bugs Fixed

  • Fixed an issue in which InteractiveBrowserCredential on Node would sometimes cause the process to hang if there was no browser available.
  • Fixed an issue in which the AZURE_AUTHORITY_HOST environment variable was not properly picked up in NodeJS.

Identity 1.4.0 Changelog

  • With this release, we drop support for Node.js versions that have reached the end of life, like Node.js 8. Read our support policy for more details.
  • Updated the default timeout of the first request of the IMDS MSI from half a second to three seconds to compensate for the slowness caused by node-fetch for initial requests in specific environments, like Kubernetes pods.
  • Upgraded @azure/core-http to version ^2.0.0, and @azure/core-tracing to version 1.0.0-preview.12.

Identity Cache Persistence 1.0.0-beta.1 Changelog

New features

  • This release marks the initial beta availability of the @azure/identity-cache-persistence package. This package provides an extension to @azure/identity that enables persistent token caching in a secure storage defined by the Operating System (caching of token values across sessions), which allows skipping interactive authentication flows if a previously-cached token is still available. This is implemented using the following technologies:
  • On Windows, the cache will use a DPAPI-protected file.
  • On macOS, the cache will use the macOS Keychain.
  • On Linux, the cache will use libsecret to store the tokens (this will use a provider backend, e.g. GNOME Keyring).
  • On Linux and macOS, the cache may optionally use an unencrypted file as a last resort, but only if the allowUnencryptedStorage property is set to true in the tokenCachePersistenceOptions passed to the credential constructor.

Identity Visual Studio Code Credential 1.0.0-beta.1 Changelog

New features

  • This release marks the initial beta availability of the @azure/identity-vscode package. This package extends @azure/identity by providing the dependencies of VisualStudioCodeCredential and enabling it within the @azure/identity package. VisualStudioCodeCredential uses the authenticated session from the “Azure Account” extension in Visual Studio Code. If this extension package is not loaded using useIdentityExtension, then VisualStudioCodeCredential from @azure/identity will throw a CredentialUnavailableError. By enabling VisualStudioCodeCredential, the DefaultAzureCredential class in @azure/identity also gains functionality allowing it to use the “Azure Account” session if it is available.

Key Vault - Administration 4.1.0-beta.1 Changelog

Features Added

  • With the dropping of support for Node.js versions that are no longer in LTS, the dependency on @types/node has been updated to version 12. Read our support policy for more details.

Key Vault - Administration 4.0.1 Changelog

Bug Fixes

  • Fixed an issue where bundling could fail when importing this library due to an incorrectly set import.

Key Vault - Administration 4.0.0 Changelog

This release marks the general availability of the @azure/keyvault-admin package.

New Features

  • The KeyVaultAccessControlClient provides support for managing role-based access control (RBAC) operations.
  • Both role assignments and custom role definitions are supported with the ability to create, read, update, and delete custom role definitions and assignments.
  • The KeyVaultBackupClient provides support for back up and restore operations for the entire Key Vault Managed HSM instance.
  • Full Managed HSM backup and restore operations are supported.
  • Selective Key Restore from a previous backup is also supported.

Changes since 4.0.0-beta.3:

  • Added the “KeyVault” prefix to all of the Key Vault Admin client operations.
  • Made the AesGcmDecryptParameters authenticationTag required.
  • Collapsed KeyVaultRoleAssignmentPropertiesWithScope to KeyVaultRoleAssignmentProperties.
  • Renamed KeyVaultKeyId to KeyVaultKeyIdentifier.
  • Renamed beginRestore’s blobStorageUri to folderUri.
  • Removed folderName from beginRestore. Now the folder name will be inferred from the folderUri.
  • Renamed beginSelectiveRestore’s blobStorageUri to folderUri.
  • Removed folderName from beginSelectiveRestore. Now the folder name will be inferred from the folderUri.
  • Reordered the parameters of beginSelectiveRestore to keyName, folderUrl, sasToken, [options].
  • Renamed KeyVaultBackupResult’s backupFolderUri to folderUri.
  • Renamed beginSelectiveRestore to beginSelectiveKeyRestore.
  • Renamed KeyVaultBeginSelectiveRestoreOptions to KeyVaultBeginSelectiveKeyRestoreOptions.
  • Renamed KeyVaultSelectiveRestoreOperationState to KeyVaultSelectiveKeyRestoreOperationState.
  • Renamed KeyVaultSelectiveRestoreResult to KeyVaultSelectiveKeyRestoreResult.
  • deleteRoleAssignment and deleteRoleDefinition will no longer throw an exception when the resource no longer exist and return no result.

Key Vault - Certificates 4.2.0 Changelog

Bug Fixes

  • Fixed an issue with beginDeleteCertificate and beginRecoverDeletedCertificate in which unknown service errors wouldn’t bubble up properly to the end users.
  • Fixed an issue where importing a certificate incorrectly required a Subject or Subject Alternative Name.
  • Fixed an issue where retrying a failed initial Key Vault request may result in an empty body.
  • Marked ErrorModel as deprecated. It was erroneously exported publicly in 4.1 and should not be used. Please change the type to use CertificateOperationError instead.

Changes since 4.2.0-beta.3

  • Marked ErrorModel as deprecated. It was erroneously exported publicly in 4.1 and should not be used. Please change the type to use CertificateOperationError instead.
  • Fixed a bug with beginDeleteCertificate and beginRecoverDeletedCertificate in which unknown service errors wouldn’t bubble up properly to the end users.
  • Renamed the KeyVaultCertificateId to KeyVaultCertificateIdentifier, and exported a method to parse Key Vault Certificate Ids: parseKeyVaultCertificateIdentifier.

Key Vault - Keys 4.3.0-beta.1 Changelog

Features Added

  • With the dropping of support for Node.js versions that are no longer in LTS, the dependency on @types/node has been updated to version 12. Read our support policy for more details.
  • Added support for KeyClient.getRandomBytes which, when connected to a managed HSM, can be used to generate a byte array of a given length with random values.
  • Updated the service version to 7.3-preview.

Key Bugs Fixed

  • Fixed an issue where CryptographyClient.signData and CryptographyClient.verifyData convenience methods would fail to find a valid hashing algorithm when using Elliptic Curve keys.

Key Vault - Keys 4.2.2 Changelog

Key Bugs Fixed

  • Fixed an issue where CryptographyClient.signData and CryptographyClient.verifyData convenience methods would fail to find a valid hashing algorithm when using Elliptic Curve keys.

Key Vault - Keys 4.2.1 Changelog

Bug Fixes

  • Fixed an issue where bundling could fail when importing this library due to an incorrectly set import.

Key Vault - Keys 4.2.0 Changelog

New Features

  • Added support for local cryptography operations. If supported by the key type and algorithm, the CryptographyClient will attempt to perform a cryptography operation locally.
  • Added support for symmetric keys in Managed HSMs including support for AES encryption algorithms to encrypt, decrypt, wrap, and unwrap using symmetric keys.
  • Added support for the 7.2 version of the Key Vault service API.

Bug Fixes

  • Fixed a bug with beginDeleteKey and beginRecoverDeletedKey in which unknown service errors wouldn’t bubble up properly to the end users.
  • Fixed bug with the list operations which were returning misplaced properties. Fixes customer issue: 15353.
  • Fixed an issue where retrying a failed initial Key Vault request may result in an empty body.

Changes since 4.2.0-beta.5:

  • Removed the now obsolete KeyOperationsOptions and replaced it with CryptographyOptions.
  • Introduced in 4.2.0-beta.1 to support additional encryption parameters for AES encryption, we have since moved these parameters outside of the options bag so a separate KeyOperationsOptions is now redundant.
  • Fixed a bug with beginDeleteKey and beginRecoverDeletedKey in which unknown service errors wouldn’t bubble up properly to the end users.
  • Fixed bug with the list operations which were returning misplaced properties. Fixes customer issue: 15353.
  • Exported a method to parse Key Vault Key Ids: parseKeyVaultKeyIdentifier.

Key Vault - Secrets 4.2.0 Changelog

New Features

  • Added support for the 7.2 version of the Key Vault service API.

Bug Fixes

  • Fixed a bug with beginDeleteSecret and beginRecoverDeletedSecret in which unknown service errors wouldn’t bubble up properly to the end users.
  • Fixed an issue where retrying a failed initial Key Vault request may result in an empty body.
  • Added a certificateKeyId?: string secret property to use instead of the deprecated keyId?: URL and removed "lib": ["dom"] from tsconfig.json

Changes since 4.2.0-beta.4:

  • Fixed a bug with beginDeleteSecret and beginRecoverDeletedSecret in which unknown service errors wouldn’t bubble up properly to the end users.
  • Renamed the KeyVaultSecretId to KeyVaultSecretIdentifier, and exported a method to parse Key Vault Secret Ids: parseKeyVaultSecretIdentifier.

Metrics Advisor 1.0.0 Changelog

The Metrics Advisor library is now in GA with this release.

Breaking Changes

  • listIncidents() overloads split into listInclidentsForAlert() and listIncidentsForDetectionConfiguration()
  • listAnomalies() overloads split into listAnomaliesForAlert() and listAnomaliesForDetectionConfiguration()
  • Removed support for granularity type PerSecond
  • Renamed “createFeedback” to “addFeedback”
  • seriesToFilter parameter renamed to seriesKey in methods getmetricenrichedseriesdata and getmetricseriesdata and ordering updated
  • Renamed adminEmails to admins in MetricsAdvisorDataFeed and NotificationHook and viewerEmails to viewers in MetricsAdvisorDataFeed
  • Renamed type DetectionConditionsOperator to DetectionConditionOperator
  • Renamed property splitAlertByDimension to dimensionsToSplitAlert in AnomalyAlertConfiguration
  • Renamed datasource to DataSource
  • Renamed DatasourceCredential to DataSourceCredentialEntity, SqlServerConnectionStringDataSourceCredential to DataSourceSqlConnectionString, DataLakeGen2SharedKeyDataSourceCredential to DataSourceDataLakeGen2SharedKey, ServicePrincipalDataSourceCredential to DataSourceServicePrincipal, ServicePrincipalInKeyVaultDataSourceCredential to DataSourceServicePrincipalInKeyVault

Other Changes

  • Update methods now return the updated object

Monitor Query 1.0.0-beta.3 Changelog

Features Added

  • The include-render header can now be specified via QueryLogsOption.includeVisualization, allowing visualization information to be returned in QueryLogsResult.visualization. The results are currently unmodeled and reflect the underlying JSON structure.

Monitor Query 1.0.0-beta.2 Changelog

  • Fixing issue using non-commercial clouds, where it wasn’t possible to pass in an endpoint and custom scope, both of which are needed. PR#15705
  • Adding a mitigation for LogsQueryClient.queryLogsBatch() where an invalidly encoded response could lead to no results being surfaced to the user. This should allow for the result to be properly parsed. PR#15718

Service Bus 7.3.0 Changelog

Features Added

  • With the dropping of support for Node.js versions that are no longer in LTS, the dependency on @types/node has been updated to version 12. Read our support policy for more details.

Key Bugs Fixed

  • Fixed a bug that could lead to message loss in certain conditions when using receiver.receiveMessages(). PR#15989

Tables 12.1.0 Changelog

Features Added

  • With the dropping of support for Node.js versions that are no longer in LTS, the dependency on @types/node has been updated to version 12. Read our support policy for more details.
  • Support for Azure Active Directory (AAD) authorization has been added to TableServiceClient and TableClient. This enables use of TokenCredential credentials. Note: Only Azure Storage API endpoints currently support AAD authorization. #15852

Text Analytics 5.1.0 Changelog

Breaking Changes

  • PiiEntityDomainType was renamed to PiiEntityDomain.
  • domain property of RecognizePiiEntitiesAction was renamed to domainFilter.
  • beginAnalyzeActions is now limited to accept up to one action only per type.

Web PubSub 1.0.0-beta.3 Changelog

Breaking Changes

  • hasUser has been removed from GroupClient as that operation is no longer supported by the service.
  • Updated to have void returns for most operations. If you were previously using RestResponse, you can instead use the onResponse callback in the operation options. See README for an example.

Latest Releases

View all the latest versions of JavaScript packages here.