Azure SDK for .NET (January 2024)
The Azure SDK team is pleased to announce our January 2024 client library releases.
32 packages released this month.
Stable Packages (15)
-
Content Safety
-
Core - Client - Core
-
Core Newtonsoft Json
-
Resource Management - Batch
-
Resource Management - Chaos
-
Resource Management - Compute
-
Resource Management - Container Service
-
Resource Management - Container Service Fleet
-
Resource Management - Data Protection
-
Resource Management - Network
-
Resource Management - Nginx
-
Resource Management - Recovery Services Backup
-
Resource Management - Resource Manager
-
System.ClientModel
-
Web PubSub Client
Patch Updates (2)
-
Container Registry
-
Service Bus
Beta Packages (13)
-
Azure AI Search
-
OpenAI Inference
-
Resource Management - Batch
-
Resource Management - Data Protection
-
Resource Management - Event Grid
-
Resource Management - Hybrid Compute
-
Resource Management - Hybrid Container Service
-
Resource Management - Redis
-
Resource Management - Resource Manager
-
Resource Management - Security
-
Resource Management - Spring App Discovery
-
Resource Management - Workloads
-
System.ClientModel
Release highlights
Azure AI Search 11.6.0-beta.1 Changelog
Features Added
- Added all the new types and updated the names as defined in the GA version 11.5.0.
Container Registry 1.1.1 Changelog
Bugs Fixed
- Fixed an issue where content client
DownloadBlobStreaming()
method would throw for blobs greater than 2GB in size. (#37113) - Fixed an issue in the ACR client to enable redirects due to the change in Azure.Core 1.33.0, which made redirects disabled by default. (#39377)
Content Safety 1.0.0 Changelog
Breaking Changes
Contract change for AnalyzeText, AnalyzeImage, Blocklist management related methods
AnalyzeText
- AnalyzeTextOptions
- Renamed BreakByBlocklists to HaltOnBlocklistHit
- Added AnalyzeTextOutputType
- AnalyzeTextResult
- Renamed BlocklistsMatchResults to BlocklistsMatch
- Replaced TextAnalyzeSeverityResult by TextCategoriesAnalysis
AnalyzeImage
- AnalyzeImageOptions
- Replaced ImageData by ContentSafetyImageData
- Added AnalyzeImageOutputType
- AnalyzeImageResult
- Replaced ImageAnalyzeSeverityResult by ImageCategoriesAnalysis
Blocklist management
- Added BlocklistAsyncClient
- Renamed AddBlockItemsOptions to AddOrUpdateTextBlocklistItemsOptions
- Renamed AddBlockItemsResult to AddOrUpdateTextBlocklistItemsResult
- Renamed RemoveBlockItemsOptions to RemoveTextBlocklistItemsOptions
- Renamed TextBlockItemInfo to TextBlocklistItem
Features Added
- Support Microsoft Entra ID Authentication
- Support 8 severity level for AnalyzeText
Core - Client - Core 1.37.0 Changelog
Bugs Fixed
- Fixed exponential retry behavior so that delay milliseconds greater than
Int32.MaxValue
do not trigger an exception. - Fixed
DelayStrategy
behavior to no longer shift the delay to be used over by one attempt. Previously, the first delay would be what should have been used for the second, and the second was what should have been used for the third, etc. Note, this would only be observed when usingDelayStrategy
outside of aRetryPolicy
orRetryOptions
. - Do not add the
error.type
attribute twice when tracing is enabled. - Do not suppress nested activities when they occur in the context of Consumer/Server activities (e.g.
BlobClient.Download
is no longer suppressed underEventHubs.Process
).
Core Newtonsoft Json 2.0.0 Changelog
Added
- Update to Newtonsoft.Json 13.0.1
OpenAI Inference 1.0.0-beta.12 Changelog
Features Added
Updates for using streaming tool calls:
- A new .NET-specific
StreamingToolCallUpdate
type has been added to better represent streaming tool call updates when using chat tools. - This new type includes an explicit
ToolCallIndex
property, reflectingindex
in the REST schema, to allow resilient deserialization of parallel function tool calling. - A convenience constructor has been added for
ChatRequestAssistantMessage
that can automatically populate from a priorChatResponseMessage
when using non-streaming chat completions. - A public constructor has been added for
ChatCompletionsFunctionToolCall
to allow more intuitive reconstruction ofChatCompletionsToolCall
instances for use inChatRequestAssistantMessage
instances made from streaming responses.
Other additions:
- To facilitate reuse of user message contents,
ChatRequestUserMessage
now provides a publicContent
property (string
) as well as a publicMultimodalContentItems
property (IList<ChatMessageContentItem
). Content
is the conventional plain-text content and will be populated as non-null when the aChatRequestUserMessage()
constructor accepting a string is used to instantiate the message.MultimodalContentItems
is the new compound content type, currently only usable withgpt-4-vision-preview
, that allows hybrid use of text and image references. It will be populated when an appropriateChatRequestUserMessage()
constructor accepting a collection ofChatMessageContentItem
instances is used.Role
is also restored to common visibility toChatRequestUserMessage
.
Breaking Changes
- The type of
ToolCallUpdate
onStreamingChatCompletionsUpdate
has been changed from the non-streamingChatCompletionsToolCall
to the newStreamingToolCallUpdate
type. The conversion is straightforward: ToolCallUpdate.Id
remains unchanged.- Instead of casting
ToolCallUpdate
toChatCompletionsFunctionToolCall
, cast it toStreamingToolCallUpdate
. - Update cast instance use of
functionToolCallUpdate.Arguments
to accumulatefunctionToolCallUpdate.ArgumentsUpdate
. - Removed the parameterized constructor of the
ChatCompletionsOptions
class that only received the messages as a parameter in favor of the parameterized constructor that receives the deployment name as well. This makes it consistent with the implementation of other Options classes. - Removed the setter of the
Input
property of theEmbeddingsOptions
class as per the guidelines for collection properties.
Bugs fixed
- [QUERY] Azure.AI.OpenAI_1.0.0-beta.10 no longer exposes message content on base ChatRequestMessage
- [BUG] Null Reference Exception in OpenAIClient.GetChatCompletionsAsync
Resource Management - Batch 1.3.0-beta.1 Changelog
Resource Management - Batch 1.3.0 Changelog
Resource Management - Chaos 1.0.0 Changelog
Resource Management - Compute 1.3.0 Changelog
Resource Management - Container Service 1.2.0 Changelog
Resource Management - Container Service Fleet 1.0.0 Changelog
Resource Management - Data Protection 1.4.0-beta.1 Changelog
Resource Management - Data Protection 1.4.0 Changelog
Resource Management - Event Grid 1.1.0-beta.4 Changelog
Resource Management - Hybrid Compute 1.0.0-beta.7 Changelog
Resource Management - Hybrid Container Service 1.0.0-beta.4 Changelog
Resource Management - Hybrid Container Service 1.0.0-beta.5 Changelog
Resource Management - Network 1.7.0 Changelog
Resource Management - Nginx 1.0.0 Changelog
Resource Management - Recovery Services Backup 1.2.0 Changelog
Resource Management - Redis 1.3.0-beta.1 Changelog
Resource Management - Resource Manager 1.10.0 Changelog
Resource Management - Resource Manager 1.11.0-beta.1 Changelog
Resource Management - Security 1.2.0-beta.5 Changelog
Resource Management - Spring App Discovery 1.0.0-beta.1 Changelog
Resource Management - Workloads 1.2.0-beta.1 Changelog
Service Bus 7.17.2 Changelog
Bugs Fixed
- Fixed the logic used to set the TimeToLive value of the AmqpMessageHeader for received messages to be based on the difference of the AbsoluteExpiryTime and CreationTime properties of the AmqpMessageProperties.
- Prevent
NullReferenceException
from being thrown when theReceiveMessagesAsync
method is called using a high degree of concurrency.
System.ClientModel 1.0.0-beta.2 Changelog
Breaking Changes
ModelReaderWriter
andModelReaderWriterOptions
have moved to System.ClientModel.Primitives namespaceJsonModelConverter
was removed.
System.ClientModel 1.0.0 Changelog
Features Added
- Initial release of ModelReaderWriter APIs for reading and writing models in different formats.
System.ClientModel 1.0.0-beta.3 Changelog
Features Added
- Initial release of building blocks for clients that call cloud services.
Web PubSub Client 1.0.0 Changelog
Breaking Changes
- Change type of
AckId
andSequenceId
fromulong
tolong
- Update
SendMessageFailedException
. RemoveAckMessageError
and addCode
property
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.ContentSafety --version 1.0.0
$> dotnet add package Azure.AI.OpenAI --version 1.0.0-beta.12
$> dotnet add package Azure.Containers.ContainerRegistry --version 1.1.1
$> dotnet add package Azure.Core --version 1.37.0
$> dotnet add package Azure.Messaging.ServiceBus --version 7.17.2
$> dotnet add package Azure.Messaging.WebPubSub.Client --version 1.0.0
$> dotnet add package Azure.ResourceManager --version 1.10.0
$> dotnet add package Azure.ResourceManager --version 1.11.0-beta.1
$> dotnet add package Azure.ResourceManager.Batch --version 1.3.0-beta.1
$> dotnet add package Azure.ResourceManager.Batch --version 1.3.0
$> dotnet add package Azure.ResourceManager.Chaos --version 1.0.0
$> dotnet add package Azure.ResourceManager.Compute --version 1.3.0
$> dotnet add package Azure.ResourceManager.ContainerService --version 1.2.0
$> dotnet add package Azure.ResourceManager.ContainerServiceFleet --version 1.0.0
$> dotnet add package Azure.ResourceManager.DataProtectionBackup --version 1.4.0-beta.1
$> dotnet add package Azure.ResourceManager.DataProtectionBackup --version 1.4.0
$> dotnet add package Azure.ResourceManager.EventGrid --version 1.1.0-beta.4
$> dotnet add package Azure.ResourceManager.HybridCompute --version 1.0.0-beta.7
$> dotnet add package Azure.ResourceManager.HybridContainerService --version 1.0.0-beta.4
$> dotnet add package Azure.ResourceManager.HybridContainerService --version 1.0.0-beta.5
$> dotnet add package Azure.ResourceManager.Network --version 1.7.0
$> dotnet add package Azure.ResourceManager.Nginx --version 1.0.0
$> dotnet add package Azure.ResourceManager.RecoveryServicesBackup --version 1.2.0
$> dotnet add package Azure.ResourceManager.Redis --version 1.3.0-beta.1
$> dotnet add package Azure.ResourceManager.SecurityCenter --version 1.2.0-beta.5
$> dotnet add package Azure.ResourceManager.SpringAppDiscovery --version 1.0.0-beta.1
$> dotnet add package Azure.ResourceManager.Workloads --version 1.2.0-beta.1
$> dotnet add package Azure.Search.Documents --version 11.6.0-beta.1
$> dotnet add package Microsoft.Azure.Core.NewtonsoftJson --version 2.0.0
$> dotnet add package System.ClientModel --version 1.0.0-beta.2
$> dotnet add package System.ClientModel --version 1.0.0
$> dotnet add package System.ClientModel --version 1.0.0-beta.3
Feedback
If you have a bug or feature request for one of the libraries, please file an issue in our repo.