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.Identityto 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
ActivitySourcename 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 theActivitySourcename matched the provided client namespace. - Distributed tracing with
ActivitySourcefor 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.TryParseparameterinput.
Features Added
- Added
RequiresUnreferencedCodeattribute 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
RequestFailedExceptiononnet6.0and above targets.
Dev Center 1.0.0-beta.3 Changelog
Breaking Changes
EnvironmentsClientrenamed toDeploymentEnvironmentsClientDevBoxesClientandDeploymentEnvironmentsClientno longer accepts project as a constructor parameterDeploymentEnvironmentsClientnow works with “environment definitions” instead of “catalog items”- Creating a new environment requires passing
environmentDefinitionNameinstead ofcatalogItemName - Creating a new environment requires passing an additional parameter
catalogName DevCenterClientOptionsrenamed toAzureDeveloperDevCenterClientOptions- No more default parameters in the clients.
userId,filter,maxCount,hibernateandcontextparameters need to be specified in the methods. GetActionrenamed toGetDevBoxActionGetActionsrenamed 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
Metadataproperty 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
ActivitySourcename used to report message activity fromAzure.Messaging.EventHubs.EventHubstoAzure.Messaging.EventHubs.Messageand messageActivityname fromEventHubs.MessagetoMessage. - 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
ActivitySourcename used to report message activity fromAzure.Messaging.EventHubs.EventHubstoAzure.Messaging.EventHubs.Messageand messageActivityname fromEventHubs.MessagetoMessage. - 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
ManagedIdentityCredentialwill 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
IsMsaPassthroughEnabledproperty onInteractiveBrowserCredentialBrokerOptionstoIsLegacyMsaPassthroughEnabled.
Identity Broker 1.0.0 Changelog
Breaking Changes
- Renamed the
IsMsaPassthroughEnabledproperty onSharedTokenCacheCredentialBrokerOptionstoIsLegacyMsaPassthroughEnabled.
Key Vault - Administration 4.4.0-beta.1 Changelog
Features Added
- The
sasTokenparameter is now optional inKeyVaultBackupClient.StartBackupandStartBackupAsync. Managed Identity will be used instead ifsasTokenis null. - The
sasTokenparameter is now optional inKeyVaultBackupClient.StartRestoreandStartRestoreAsync. Managed Identity will be used instead ifsasTokenis null. - The
sasTokenparameter is now optional inKeyVaultBackupClient.StartSelectiveKeyRestoreandStartSelectiveKeyRestoreAsync. Managed Identity will be used instead ifsasTokenis 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.X509ThumbprintStringto return the hexadecimal string representation of the SHA-1 hash of the certificate.CertificateProperties.X509Thumbprinthas 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
CertificateClientactivities to following OpenTelemetry attribute naming conventions: certificatetoaz.keyvault.certificate.nameversiontoaz.keyvault.certificate.versionissuertoaz.keyvault.certificate.issuer.name
Key Vault - Keys 4.6.0-beta.1 Changelog
Features Added
- Added
CryptographyClient.CreateRSAandCreateRSAAsyncto create anRSAimplementation backed by Key Vault or Managed HSM. Use this anywhere anRSAorAsymmetricAlgorithmis required. (#3545) - Added
KeyProperties.HsmPlatformto get the underlying HSM platform.
Bugs Fixed
- When a Key Vault is moved to another tenant, the client is reauthenticated.
KeyRotationPolicyActionperforms case-insensitive comparisons since Key Vault and Managed HSM return different cases for “rotate”.
Breaking Changes
- Renamed tags reported on
KeyClient,KeyResolver,CryptographyClient, andRemoteCryptographyClientactivities to follow OpenTelemetry attribute naming conventions: keytoaz.keyvault.key.idoraz.keyvault.key.namedepending on the value being reportedversiontoaz.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
SecretClientactivities to follow OpenTelemetry attribute naming conventions: secrettoaz.keyvault.secret.nameversiontoaz.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
MetricsBatchQueryClientclient to support batch querying of metrics. - Added
QueryBatchandQueryBatchAsyncmethods 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
StreamingChatCompletionsUpdatetype 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
ArgumentNullExceptionthat is thrown if a nulloptionsargument is passed toAddAzureKeyVault.
Features Added
- Changed visibility of
AzureKeyVaultConfigurationSourceas 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.Azureto 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.