Azure SDK for .NET (November 2023)
The Azure SDK team is pleased to announce our November 2023 client library releases.
62 packages released this month.
Stable Packages (22)
-
App Configuration
-
Core - Client - Core
-
Event Grid
-
Event Hubs
-
Event Hubs - Event Processor
-
Identity Broker
-
Resource Management - Cognitive Search
-
Resource Management - Desktop Virtualization
-
Resource Management - Kusto
-
Resource Management - Mobile Network
-
Resource Management - NetApp Files
-
Resource Management - Peering
-
Resource Management - Resource Manager
-
Resource Management - Service Networking
-
Resource Management - Storage Mover
-
Secrets Configuration Provider for .NET
-
Storage - Blobs
-
Storage - Blobs Batch
-
Storage - Common
-
Storage - Files Data Lake
-
Storage - Files Share
-
Storage - Queues
Patch Updates (5)
-
Azure client library integration for ASP.NET Core
-
Identity
-
Monitor Ingestion
-
Resource Management - NetApp Files
-
WebJobs Extensions - Service Bus
Beta Packages (28)
-
Dev Center
-
Identity Broker
-
Key Vault - Administration
-
Key Vault - Certificates
-
Key Vault - Keys
-
Key Vault - Secrets
-
Monitor Query
-
OpenAI Inference
-
Resource Management - Container Service Fleet
-
Resource Management - Cosmos DB
-
Resource Management - ElasticSan
-
Resource Management - Hardware Security Modules
-
Resource Management - Hybrid Compute
-
Resource Management - HybridNetwork
-
Resource Management - Maintenance
-
Resource Management - MySQL
-
Resource Management - NetworkAnalytics
-
Resource Management - Resource Health
-
Resource Management - Self Help
-
Resource Management - Support
-
Storage - Blobs
-
Storage - Blobs Batch
-
Storage - Blobs ChangeFeed
-
Storage - Common
-
Storage - Files Data Lake
-
Storage - Files Share
-
Storage - Queues
-
Synapse - Artifacts
Release highlights
App Configuration 1.3.0 Changelog
Features Added
- Added configuration settings snapshot feature which allow users to create a point-in-time snapshot of their configuration store.
Azure client library integration for ASP.NET Core 1.7.1 Changelog
Other Changes
- Updated dependency
Azure.Identity
to version1.10.3
.
Core - Client - Core 1.36.0 Changelog
Breaking Changes
- Updated tracing attributes names to conform to OpenTelemetry semantic conventions version 1.23.0.
- Suppress client activity creation by Azure clients if it happens in scope of another activity created by an Azure client.
- Changed how
ActivitySource
name is constructed for clients that use single-worded activity names (without dot). We now append provided activity name as is to the client namespace name. Previously, the provided activity name was omitted and theActivitySource
name matched the provided client namespace. - Distributed tracing with
ActivitySource
for HTTP and REST-based client libraries is declared stable. Experimental feature-flag is no longer required for most of the newly released libraries. Tracing for messaging libraries remains experimental. - Added nullable annotation to
ResourceIdentifier.TryParse
parameterinput
.
Features Added
- Added
RequiresUnreferencedCode
attribute toRequestContent.Create(object)
overloads that use reflection to serialize the input object. This provides support for native AOT compilation when Azure.Core is used for diagnostics. - Use System.Text.Json source generation to deserialize the error response in
RequestFailedException
onnet6.0
and above targets.
Dev Center 1.0.0-beta.3 Changelog
Breaking Changes
EnvironmentsClient
renamed toDeploymentEnvironmentsClient
DevBoxesClient
andDeploymentEnvironmentsClient
no longer accepts project as a constructor parameterDeploymentEnvironmentsClient
now works with “environment definitions” instead of “catalog items”- Creating a new environment requires passing
environmentDefinitionName
instead ofcatalogItemName
- Creating a new environment requires passing an additional parameter
catalogName
DevCenterClientOptions
renamed toAzureDeveloperDevCenterClientOptions
- No more default parameters in the clients.
userId
,filter
,maxCount
,hibernate
andcontext
parameters need to be specified in the methods. GetAction
renamed toGetDevBoxAction
GetActions
renamed toGetDevBoxActions
Event Grid 4.20.0 Changelog
Bugs Fixed
- Added several communication models into the correct namespace and hid the old ones.
Event Grid 4.21.0 Changelog
Features Added
- Added new system events for Resource Notifications
- Added the
Metadata
property to various Azure Communication Services events.
Event Hubs 5.10.0 Changelog
Bugs Fixed
- Fixed a parameter type mismatch in ETW #7 (ReceiveComplete) which caused the duration argument of the operation to be interpreted as a Unicode string and fail to render properly in the formatted message.
Breaking Changes
- Change
ActivitySource
name used to report message activity fromAzure.Messaging.EventHubs.EventHubs
toAzure.Messaging.EventHubs.Message
and messageActivity
name fromEventHubs.Message
toMessage
. - Updated tracing attributes names to conform to OpenTelemetry semantic conventions version 1.23.0.
Event Hubs - Event Processor 5.10.0 Changelog
Breaking Changes
- Change
ActivitySource
name used to report message activity fromAzure.Messaging.EventHubs.EventHubs
toAzure.Messaging.EventHubs.Message
and messageActivity
name fromEventHubs.Message
toMessage
. - Updated tracing attributes names to conform to OpenTelemetry semantic conventions version 1.23.0.
Bugs Fixed
- Fixed a parameter type mismatch in ETW #7 (ReceiveComplete) which caused the duration argument of the operation to be interpreted as a Unicode string and fail to render properly in the formatted message.
Identity 1.10.3 Changelog
Bugs Fixed
ManagedIdentityCredential
will now correctly retry when the instance metadata endpoint returns a 410 response. #28568
Identity Broker 1.0.0-beta.5 Changelog
Breaking Changes
- Renamed the
IsMsaPassthroughEnabled
property onInteractiveBrowserCredentialBrokerOptions
toIsLegacyMsaPassthroughEnabled
.
Identity Broker 1.0.0 Changelog
Breaking Changes
- Renamed the
IsMsaPassthroughEnabled
property onSharedTokenCacheCredentialBrokerOptions
toIsLegacyMsaPassthroughEnabled
.
Key Vault - Administration 4.4.0-beta.1 Changelog
Features Added
- The
sasToken
parameter is now optional inKeyVaultBackupClient.StartBackup
andStartBackupAsync
. Managed Identity will be used instead ifsasToken
is null. - The
sasToken
parameter is now optional inKeyVaultBackupClient.StartRestore
andStartRestoreAsync
. Managed Identity will be used instead ifsasToken
is null. - The
sasToken
parameter is now optional inKeyVaultBackupClient.StartSelectiveKeyRestore
andStartSelectiveKeyRestoreAsync
. Managed Identity will be used instead ifsasToken
is null.
Bugs Fixed
- When a Key Vault is moved to another tenant, the client is reauthenticated.
Key Vault - Certificates 4.6.0-beta.1 Changelog
Features Added
- Added
CertificateProperties.X509ThumbprintString
to return the hexadecimal string representation of the SHA-1 hash of the certificate.CertificateProperties.X509Thumbprint
has been hidden but is still available.
Bugs Fixed
- When a Key Vault is moved to another tenant, the client is reauthenticated.
Breaking Changes
- Renamed tags reported on
CertificateClient
activities to following OpenTelemetry attribute naming conventions: certificate
toaz.keyvault.certificate.name
version
toaz.keyvault.certificate.version
issuer
toaz.keyvault.certificate.issuer.name
Key Vault - Keys 4.6.0-beta.1 Changelog
Features Added
- Added
CryptographyClient.CreateRSA
andCreateRSAAsync
to create anRSA
implementation backed by Key Vault or Managed HSM. Use this anywhere anRSA
orAsymmetricAlgorithm
is required. (#3545) - Added
KeyProperties.HsmPlatform
to get the underlying HSM platform.
Bugs Fixed
- When a Key Vault is moved to another tenant, the client is reauthenticated.
KeyRotationPolicyAction
performs case-insensitive comparisons since Key Vault and Managed HSM return different cases for “rotate”.
Breaking Changes
- Renamed tags reported on
KeyClient
,KeyResolver
,CryptographyClient
, andRemoteCryptographyClient
activities to follow OpenTelemetry attribute naming conventions: key
toaz.keyvault.key.id
oraz.keyvault.key.name
depending on the value being reportedversion
toaz.keyvault.key.version
Key Vault - Secrets 4.6.0-beta.1 Changelog
Bugs Fixed
- When a Key Vault is moved to another tenant, the client is reauthenticated.
Breaking Changes
- Renamed tags reported on
SecretClient
activities to follow OpenTelemetry attribute naming conventions: secret
toaz.keyvault.secret.name
version
toaz.keyvault.secret.version
Monitor Ingestion 1.1.1 Changelog
Features Added
- Added documentation for using sovereign cloud
Monitor Query 1.3.0-beta.1 Changelog
Features Added
- Added the
MetricsBatchQueryClient
client to support batch querying of metrics. - Added
QueryBatch
andQueryBatchAsync
methods toMetricsBatchQueryClient
OpenAI Inference 1.0.0-beta.9 Changelog
Breaking Changes
This update includes a number of version-to-version breaking changes to the API.
Streaming for completions and chat completions
Streaming Completions and Streaming Chat Completions have been significantly updated to use simpler, shallower usage patterns and data representations. The goal of these changes is to make streaming much easier to consume in common cases while still retaining full functionality in more complex ones (e.g. with multiple choices requested).
- A new
StreamingResponse<T>
type is introduced that implicitly exposes anIAsyncEnumerable<T>
derived from the underlying response. OpenAI.GetCompletionsStreaming()
now returns aStreamingResponse<Completions>
that may be directly enumerated over.StreamingCompletions
,StreamingChoice
, and the corresponding methods are removed.- Because Chat Completions use a distinct structure for their streaming response messages, a new
StreamingChatCompletionsUpdate
type is introduced that encapsulates this update data. - Correspondingly,
OpenAI.GetChatCompletionsStreaming()
now returns aStreamingResponse<StreamingChatCompletionsUpdate>
that may be enumerated over directly.StreamingChatCompletions
,StreamingChatChoice
, and related methods are removed. - For more information, please see the related pull request description as well as the updated snippets in the project README.
deploymentOrModelName
moved to *Options.DeploymentName
deploymentOrModelName
and related method parameters on OpenAIClient
have been moved to DeploymentName
properties in the corresponding method options. This is intended to promote consistency across scenario,
language, and Azure/non-Azure OpenAI use.
As an example, the following:
ChatCompletionsOptions chatCompletionsOptions = new()
{
Messages = { new(ChatRole.User, "Hello, assistant!") },
};
Response<ChatCompletions> response = client.GetChatCompletions("gpt-4", chatCompletionsOptions);
…is now re-written as:
ChatCompletionsOptions chatCompletionsOptions = new()
{
DeploymentName = "gpt-4",
Messages = { new(ChatRole.User, "Hello, assistant!") },
};
Response<ChatCompletions> response = client.GetChatCompletions(chatCompletionsOptions);
Consistency in complex method options type constructors
With the migration of DeploymentName
into method complex options types, these options types have now been snapped to
follow a common pattern: each complex options type will feature a default constructor that allows init
-style setting
of properties as well as a single additional constructor that accepts all required parameters for the corresponding
method. Existing constructors that no longer meet that “all” requirement, including those impacted by the addition of
DeploymentName
, have been removed. The “convenience” constructors that represented required parameter data
differently – for example, EmbeddingsOptions(string)
, have also been removed in favor of the consistent “set of
directly provide” choice.
More exhaustively, removed are:
AudioTranscriptionOptions(BinaryData)
AudioTranslationOptions(BinaryData)
ChatCompletionsOptions(IEnumerable<ChatMessage>)
CompletionsOptions(IEnumerable<string>)
EmbeddingsOptions(string)
EmbeddingsOptions(IEnumerable<string>)
And added as replacements are:
AudioTranscriptionOptions(string, BinaryData)
AudioTranslationOptions(string, BinaryData)
ChatCompletionsOptions(string, IEnumerable<ChatMessage>)
CompletionsOptions(string, IEnumerable<string>)
EmbeddingsOptions(string, IEnumerable<string>)
Embeddings now represented as ReadOnlyMemory<float>
Changed the representation of embeddings (specifically, the type of the Embedding
property of the EmbeddingItem
class)
from IReadOnlyList<float>
to ReadOnlyMemory<float>
as part of a broader effort to establish consistency across the
.NET ecosystem.
SearchKey
and EmbeddingKey
properties replaced by SetSearchKey
and SetEmbeddingKey
methods
Replaced the SearchKey
and EmbeddingKey
properties of the AzureCognitiveSearchChatExtensionConfiguration
class with
new SetSearchKey
and SetEmbeddingKey
methods respectively. These methods simplify the configuration of the Azure Cognitive
Search chat extension by receiving a plain string instead of an AzureKeyCredential
, promote more sensible key and secret
management, and align with the Azure SDK guidelines.
Resource Management - Cognitive Search 1.2.0 Changelog
Resource Management - Container Service Fleet 1.0.0-beta.3 Changelog
Resource Management - Cosmos DB 1.4.0-beta.4 Changelog
Resource Management - Desktop Virtualization 1.2.0 Changelog
Resource Management - ElasticSan 1.0.0-beta.5 Changelog
Resource Management - Hardware Security Modules 1.0.0-beta.1 Changelog
Resource Management - Hybrid Compute 1.0.0-beta.5 Changelog
Resource Management - HybridNetwork 1.0.0-beta.1 Changelog
Resource Management - Kusto 1.5.0 Changelog
Resource Management - Maintenance 1.2.0-beta.5 Changelog
Resource Management - Mobile Network 1.1.0 Changelog
Resource Management - MySQL 1.1.0-beta.3 Changelog
Resource Management - NetApp Files 1.4.0 Changelog
Resource Management - NetApp Files 1.4.1 Changelog
Resource Management - NetworkAnalytics 1.0.0-beta.1 Changelog
Resource Management - Peering 1.2.0 Changelog
Resource Management - Resource Health 1.1.0-beta.2 Changelog
Resource Management - Resource Manager 1.8.0 Changelog
Resource Management - Self Help 1.1.0-beta.1 Changelog
Resource Management - Service Networking 1.0.0 Changelog
Resource Management - Storage Mover 1.1.0 Changelog
Resource Management - Support 1.1.0-beta.2 Changelog
Secrets Configuration Provider for .NET 1.3.0 Changelog
Bugs Fixed
- Corrected the parameter name in the
ArgumentNullException
that is thrown if a nulloptions
argument is passed toAddAzureKeyVault
.
Features Added
- Changed visibility of
AzureKeyVaultConfigurationSource
as public to allow for custom ordering of configuration sections when reading. (A community contribution, courtesy of jabberwik)
Storage - Blobs 12.19.0-beta.1 Changelog
- Added support for service version 2023-11-03.
- Added support for BlobClientOptions.Audience
Storage - Blobs 12.19.0 Changelog
- Includes all features from 12.19.0-beta.1.
Storage - Blobs Batch 12.16.0-beta.1 Changelog
- Added support for service version 2023-11-03.
Storage - Blobs Batch 12.16.0 Changelog
- Includes all features from 12.16.0-beta.1.
Storage - Blobs ChangeFeed 12.0.0-preview.39 Changelog
- Added support for service version 2023-11-03.
Storage - Blobs ChangeFeed 12.0.0-preview.40 Changelog
- This release contains bug fixes to improve quality.
Storage - Common 12.18.0-beta.1 Changelog
- This release contains bug fixes to improve quality.
Storage - Common 12.18.0 Changelog
- Includes all features from 12.18.0-beta.1.
Storage - Files Data Lake 12.17.0-beta.1 Changelog
- Added support for service version 2023-11-03.
- Added support for DataLakeClientOptions.Audience
Storage - Files Data Lake 12.17.0 Changelog
- Includes all features from 12.17.0-beta.1.
Storage - Files Share 12.17.0-beta.1 Changelog
- Added support for service version 2023-11-03.
- Added support for ShareClientOptions.Audience
Storage - Files Share 12.17.0 Changelog
- Includes all features from 12.17.0-beta.1.
- Fixed bug where the x-ms-file-request-intent request header was not being sent for ShareFileClient.UploadRangeFromUri() and .UploadRangeFromUriAsync().
Storage - Queues 12.17.0-beta.1 Changelog
- Added support for QueueClientOptions.Audience
Storage - Queues 12.17.0 Changelog
- Includes all features from 12.17.0-beta.1.
Synapse - Artifacts 1.0.0-preview.19 Changelog
- Fix runNotebook sessionId from int to string
- Fix placeholder links causing 404s
- Sync expression Support From DataFactory To Synapse
WebJobs Extensions - Service Bus 5.13.1 Changelog
Bugs Fixed
- Fixed the disposal pattern for cached Service Bus clients so that they are disposed only on host shutdown.
WebJobs Extensions - Service Bus 5.13.2 Changelog
Other Changes
- Updated proto service definition to use StringValue rather than string for deadletter error reason and description.
WebJobs Extensions - Service Bus 5.13.3 Changelog
Bugs Fixed
- Fixed issue where deadlettering a message without specifying properties to modify could throw an exception from out of proc extension.
- Include underlying exception details in RpcException when a failure occurs.
WebJobs Extensions - Service Bus 5.13.4 Changelog
Other Changes
- Bump dependency on
Microsoft.Extensions.Azure
to prevent transitive dependency on deprecated version ofAzure. Identity
.
Latest Releases
View all the latest versions of .NET packages here.
Installation Instructions
To install any of our packages, please search for them via Manage NuGet Packages...
in Visual Studio (with Include prerelease
checked) or copy these commands into your terminal:
$> dotnet add package Azure.AI.OpenAI --version 1.0.0-beta.9
$> dotnet add package Azure.Analytics.Synapse.Artifacts --version 1.0.0-preview.19
$> dotnet add package Azure.Core --version 1.36.0
$> dotnet add package Azure.Data.AppConfiguration --version 1.3.0
$> dotnet add package Azure.Developer.DevCenter --version 1.0.0-beta.3
$> dotnet add package Azure.Extensions.AspNetCore.Configuration.Secrets --version 1.3.0
$> dotnet add package Azure.Identity --version 1.10.3
$> dotnet add package Azure.Identity.Broker --version 1.0.0-beta.5
$> dotnet add package Azure.Identity.Broker --version 1.0.0
$> dotnet add package Azure.Messaging.EventGrid --version 4.20.0
$> dotnet add package Azure.Messaging.EventGrid --version 4.21.0
$> dotnet add package Azure.Messaging.EventHubs --version 5.10.0
$> dotnet add package Azure.Messaging.EventHubs.Processor --version 5.10.0
$> dotnet add package Azure.Monitor.Ingestion --version 1.1.1
$> dotnet add package Azure.Monitor.Query --version 1.3.0-beta.1
$> dotnet add package Azure.ResourceManager --version 1.8.0
$> dotnet add package Azure.ResourceManager.ContainerServiceFleet --version 1.0.0-beta.3
$> dotnet add package Azure.ResourceManager.CosmosDB --version 1.4.0-beta.4
$> dotnet add package Azure.ResourceManager.DesktopVirtualization --version 1.2.0
$> dotnet add package Azure.ResourceManager.ElasticSan --version 1.0.0-beta.5
$> dotnet add package Azure.ResourceManager.HardwareSecurityModules --version 1.0.0-beta.1
$> dotnet add package Azure.ResourceManager.HybridCompute --version 1.0.0-beta.5
$> dotnet add package Azure.ResourceManager.HybridNetwork --version 1.0.0-beta.1
$> dotnet add package Azure.ResourceManager.Kusto --version 1.5.0
$> dotnet add package Azure.ResourceManager.Maintenance --version 1.2.0-beta.5
$> dotnet add package Azure.ResourceManager.MobileNetwork --version 1.1.0
$> dotnet add package Azure.ResourceManager.MySql --version 1.1.0-beta.3
$> dotnet add package Azure.ResourceManager.NetApp --version 1.4.0
$> dotnet add package Azure.ResourceManager.NetApp --version 1.4.1
$> dotnet add package Azure.ResourceManager.NetworkAnalytics --version 1.0.0-beta.1
$> dotnet add package Azure.ResourceManager.Peering --version 1.2.0
$> dotnet add package Azure.ResourceManager.ResourceHealth --version 1.1.0-beta.2
$> dotnet add package Azure.ResourceManager.Search --version 1.2.0
$> dotnet add package Azure.ResourceManager.SelfHelp --version 1.1.0-beta.1
$> dotnet add package Azure.ResourceManager.ServiceNetworking --version 1.0.0
$> dotnet add package Azure.ResourceManager.StorageMover --version 1.1.0
$> dotnet add package Azure.ResourceManager.Support --version 1.1.0-beta.2
$> dotnet add package Azure.Security.KeyVault.Administration --version 4.4.0-beta.1
$> dotnet add package Azure.Security.KeyVault.Certificates --version 4.6.0-beta.1
$> dotnet add package Azure.Security.KeyVault.Keys --version 4.6.0-beta.1
$> dotnet add package Azure.Security.KeyVault.Secrets --version 4.6.0-beta.1
$> dotnet add package Azure.Storage.Blobs --version 12.19.0-beta.1
$> dotnet add package Azure.Storage.Blobs --version 12.19.0
$> dotnet add package Azure.Storage.Blobs.Batch --version 12.16.0-beta.1
$> dotnet add package Azure.Storage.Blobs.Batch --version 12.16.0
$> dotnet add package Azure.Storage.Blobs.ChangeFeed --version 12.0.0-preview.39
$> dotnet add package Azure.Storage.Blobs.ChangeFeed --version 12.0.0-preview.40
$> dotnet add package Azure.Storage.Common --version 12.18.0-beta.1
$> dotnet add package Azure.Storage.Common --version 12.18.0
$> dotnet add package Azure.Storage.Files.DataLake --version 12.17.0-beta.1
$> dotnet add package Azure.Storage.Files.DataLake --version 12.17.0
$> dotnet add package Azure.Storage.Files.Shares --version 12.17.0-beta.1
$> dotnet add package Azure.Storage.Files.Shares --version 12.17.0
$> dotnet add package Azure.Storage.Queues --version 12.17.0-beta.1
$> dotnet add package Azure.Storage.Queues --version 12.17.0
$> dotnet add package Microsoft.Azure.WebJobs.Extensions.ServiceBus --version 5.13.1
$> dotnet add package Microsoft.Azure.WebJobs.Extensions.ServiceBus --version 5.13.2
$> dotnet add package Microsoft.Azure.WebJobs.Extensions.ServiceBus --version 5.13.3
$> dotnet add package Microsoft.Azure.WebJobs.Extensions.ServiceBus --version 5.13.4
$> dotnet add package Microsoft.Extensions.Azure --version 1.7.1
Feedback
If you have a bug or feature request for one of the libraries, please file an issue in our repo.