Azure SDK for .NET (October 2025)
The Azure SDK team is pleased to announce our October 2025 client library releases.
33 packages released this month.
Stable Packages (20)
-
AI Foundry
-
Azure AI Search
-
Azure client library integration for ASP.NET Core
-
Communication Email
-
Core - Client - Core
-
Identity
-
Microsoft.Azure.WebPubSub.AspNetCore
-
Resource Management - Compute
-
Resource Management - Container Apps
-
Resource Management - Container Instances
-
Resource Management - Data Migration
-
Resource Management - Data Protection
-
Resource Management - Network
-
Resource Management - Oracle Database
-
Resource Management - Quota
-
Resource Management - Sitemanager
-
Resource Management - Storage
-
Resource Management - Storage Cache
-
System.ClientModel
-
unknown
Patch Updates (4)
-
Resource Management - Authorization
-
Resource Management - Event Hubs
-
Resource Management - Key Vault
-
Storage - Blobs
Beta Packages (7)
-
AI Agents Persistent
-
Communication Messages
-
Health Deidentification
-
OpenAI Inference
-
Resource Management - Compute.Recommender
-
Resource Management - Disconnectedoperations
-
unknown
Release highlights
AI Agents Persistent 1.2.0-beta.6 Changelog
Bugs Fixed
- Fix the issue on calculating hash of
FunctionToolDefinition. See issue. - Expose the
ServerLabelonSubmitToolApprovalUpdateSee issue. - Fix naming of MCPApproval see issue
- Fix issue with image block serialization in async scenarios issue
AI Foundry 1.0.0 Changelog
Bugs Fixed
- Properly handle secret key population for
AIProjectConnectionCustomCredential, see GitHub issue 52355.
Features Added
- Added convenience
CreateOrUpdatemethods forAIProjectIndexobjects
Breaking Changes
- Name changes:
AssetDeploymenthas been renamed toAIProjectDeploymentBlobReferencehas been renamed toAIProjectBlobReferenceConnectionPropertieshas been renamed toAIProjectConnectionFileDatasetVersionhas been renamed toFileDatasetFolderDatasetVersionhas been renamed toFolderDatasetSasCredentialhas been renamed toBlobReferenceSasCredentialSearchIndexhas been renamed toAIProjectIndex- Removed
GetOpenAIClientmethod. Look at Inference samples for how to get the client now. - All other
Get*Clientmethods have been removed. Use theAIProjectClientpropertiesConnections,Datasets,Deployments, andIndexesinstead.
Azure AI Search 11.7.0 Changelog
Breaking Changes
VectorSearchCompression.RerankWithOriginalVectorsandVectorSearchCompression.DefaultOversamplingdon’t work with2025-09-01and were replaced byVectorSearchCompression.RescoringOptions.EnabledRescoringandVectorSearchCompression.RescoringOptions.DefaultOversampling. If using2024-07-01continue using the old properties, otherwise if using2025-09-01use the new properties inRescoringOptions.
Features Added
- Added support for
2025-09-01service version. - Support for reranker boosted scores in search results and the ability to sort results on either reranker or reranker boosted scores in
SemanticConfiguration.RankingOrder. - Support for
VectorSearchCompression.RescoringOptionsto configure how vector compression handles the original vector when indexing and how vectors are used during rescoring. - Added
SearchIndex.Descriptionto provide a textual description of the index. - Support for
LexicalNormalizerwhen definingSearchIndex,SimpleField, andSearchableFieldand the ability to use it when analyzing text withSearchIndexClient.AnalyzeText. - Support
DocumentIntelligenceLayoutSkillskillset skill andOneLakeSearchIndexerDataSourceConnectiondata source. - Support for
QueryDebugModein searching to retrieve detailed information about search processing. Only vector is supported forQueryDebugMode.
Azure client library integration for ASP.NET Core 1.13.0 Changelog
Other Changes
- Updated the Azure.Identity dependency to version 1.16.0
Communication Email 1.1.0 Changelog
Features Added
- Consumers can now provide a value for the
ContentIdproperty when sending emails with attachments. This allows consumers to reference attachments in the email body using thecidscheme. TheContentIdproperty can be set on theEmailAttachmentobject.
Communication Messages 1.3.0-beta.2 Changelog
Features Added
- Add support for read receipt and typing indicator.
Core - Client - Core 1.49.0 Changelog
Features Added
- Adopt System.ClientModel 1.7.0
Health Deidentification 1.1.0-beta.1 Changelog
Features Added
- Added
DeidentificationOperationType.SurrogateOnly, which returns output text where user-defined PHI entities are replaced with realistic replacement values. When using this operation, includeDeidentificationContent.TaggedEntities, which allows user input of PHI entities detected in the input text. The service will skip tagging and apply surrogation directly to the user-defined entities. - Added
DeidentificationCustomizationOptions.InputLocaleto allow specifying the locale of the input text for TAG and REDACT operations.
Identity 1.17.0 Changelog
Bugs Fixed
- TenantId is now configured via MSAL’s
WithTenantIdinstead ofWithTenantIdFromAuthorityto prevent malformed Uris to the authority.
Microsoft.Azure.WebPubSub.AspNetCore 1.5.0 Changelog
Features Added
- Support a custom hub name in
MapWebPubSubHubextension method.
OpenAI Inference 2.5.0-beta.1 Changelog
Features Added
- A substantial number of new features are carried forward from the
OpenAIlibrary. Please see the full OpenAI 2.5.0 release notes for details.
Resource Management - Authorization 1.1.6 Changelog
Resource Management - Compute 1.12.0 Changelog
Resource Management - Compute.Recommender 1.0.0-beta.1 Changelog
Resource Management - Container Apps 1.5.0 Changelog
Resource Management - Container Instances 1.3.0 Changelog
Resource Management - Data Migration 1.0.0 Changelog
Resource Management - Data Protection 1.7.0 Changelog
Resource Management - Disconnectedoperations 1.0.0-beta.1 Changelog
Resource Management - Event Hubs 1.2.1 Changelog
Resource Management - Key Vault 1.3.3 Changelog
Resource Management - Network 1.12.0 Changelog
Resource Management - Oracle Database 1.2.0 Changelog
Resource Management - Quota 1.2.0 Changelog
Resource Management - Sitemanager 1.0.0 Changelog
Resource Management - Storage 1.5.0 Changelog
Resource Management - Storage Cache 1.4.0 Changelog
Storage - Blobs 12.25.1 Changelog
Bugs Fixed
- Fixed bug for processing partitioned downloads for empty blobs with content validation enabled.
System.ClientModel 1.7.0 Changelog
Features Added
-
Added
ClientConnectionconstructor, accepting credentials and metadata. -
Added
JsonPatchwhich allows for applying JSON Patch operations to JSON documents.
unknown 1.0.0-beta.2 Changelog
Features Added
Added overloads for MessageItem creation to accept a single content part.
Breaking Changes
AudioFormat was split into InputAudioFormat and OutputAudioFormat. Emotion classes / options dropped. Eou and TurnDetection classes renamed. API properties that were duration based are now TimeSpans Methods to configure session collapsed to ConfigureSession Renamed ToolChoiceFunctionObjectFunction to ToolChoiceFunctionObject
unknown 1.0.0-beta.3 Changelog
Features Added
- Added
VideoBackgroundclass to support video background customization withColorandImageUrlproperties - Added new properties to
VideoParams: Background(VideoBackground): Configure video background settingsGopSize(int?): Configure Group of Pictures size- Added new properties to turn detection classes for enhanced control:
CreateResponse(bool?): Added toServerVadTurnDetection,AzureSemanticVadTurnDetection, and related classesInterruptResponse(bool?): Added to the same turn detection classes- Added string constructor overloads for message item classes:
AssistantMessageItem(string assistantMessageText)SystemMessageItem(string systemMessageText)UserMessageItem(string userMessageText)- Enhanced README with new code examples for function calling and user message handling
- Added Headers dictionary to VoiceLiveClientOptions to specify additional headers to set on connect.
Breaking Changes
Type Changes from Enums to Extensible Enums
Several enum types have been converted to extensible enums (struct-based) for better extensibility:
AnimationOutputType
- Before:
enum AnimationOutputType - After:
readonly partial struct AnimationOutputType - Impact: The type is now an extensible enum. Existing code using the enum values will continue to work due to implicit conversions.
AudioNoiseReductionType
- Before:
enum AudioNoiseReductionType - After:
readonly partial struct AudioNoiseReductionType - Impact: The type is now an extensible enum. Existing code using the enum values will continue to work due to implicit conversions.
ItemParamStatus
- Before:
enum ItemParamStatus - After:
readonly partial struct ItemParamStatus - Impact: The type is now an extensible enum. Existing code using the enum values will continue to work due to implicit conversions.
ResponseCancelledDetailsReason
- Before:
enum ResponseCancelledDetailsReason - After:
readonly partial struct ResponseCancelledDetailsReason - Impact: The type is now an extensible enum. Existing code using the enum values will continue to work due to implicit conversions.
ResponseIncompleteDetailsReason
- Before:
enum ResponseIncompleteDetailsReason - After:
readonly partial struct ResponseIncompleteDetailsReason - Impact: The type is now an extensible enum. Existing code using the enum values will continue to work due to implicit conversions.
Class and Property Renames
AudioInputTranscriptionSettings → AudioInputTranscriptionOptions
- Type renamed:
AudioInputTranscriptionSettingsis nowAudioInputTranscriptionOptions - Model property renamed:
AudioInputTranscriptionSettingsModelis nowAudioInputTranscriptionOptionsModel - Impact: Update all references to use the new type name.
InputModality → InteractionModality
- Type renamed:
InputModalityis nowInteractionModality - Impact: Update all references from
InputModalitytoInteractionModalitythroughout your code.
ResponseMaxOutputTokensOption → MaxResponseOutputTokensOption
- Type renamed:
ResponseMaxOutputTokensOptionis nowMaxResponseOutputTokensOption - Impact: Update all type references to use the new name.
Removed Types
UserContentPart (abstract base class)
- Removed: The abstract
UserContentPartclass has been removed. - Replacement: Use the new
MessageContentPartabstract base class instead. - Impact: Update inheritance hierarchies to use
MessageContentPart.
AzureSemanticEnEouDetection
- Removed: This class has been removed.
- Replacement: Use
AzureSemanticEouDetectionEninstead.
AzureSemanticMultilingualEouDetection
- Removed: This class has been removed.
- Replacement: Use
AzureSemanticEouDetectionMultilingualinstead.
AzureSemanticVadEnTurnDetection
- Removed: This class has been removed.
- Replacement: Use
AzureSemanticVadTurnDetectionEninstead.
AzureSemanticVadMultilingualTurnDetection
- Removed: This class has been removed.
- Replacement: Use
AzureSemanticVadTurnDetectionMultilingualinstead.
Property Removals
AnimationOptions
- Removed properties:
EmotionDetectionIntervalEmotionDetectionIntervalMs- Impact: Remove any code that sets or reads these properties.
AzureSemanticEouDetection family
- Changed property:
Threshold(float) has been replaced withThresholdLevelusing new threshold level types: AzureSemanticDetectionThresholdLevelforAzureSemanticEouDetectionAzureSemanticDetectionEnThresholdLevelforAzureSemanticEouDetectionEnAzureSemanticDetectionMultilingualThresholdLevelforAzureSemanticEouDetectionMultilingual- Impact: Update code to use the new
ThresholdLevelproperty with appropriate enum values (Default, Low, Medium, High).
Constructor and Method Signature Changes
MessageItem
- Constructor changed:
- Before:
MessageItem(string role) - After:
MessageItem(ResponseMessageRole role, IEnumerable<MessageContentPart> content) - Impact: Update all MessageItem instantiations to provide both role and content parameters.
AssistantMessageItem
- Constructor changed:
- Before: Accepted
OutputTextContentPartorIEnumerable<OutputTextContentPart> - After: Accepts
MessageContentPart,IEnumerable<MessageContentPart>, or a string - Property changed:
Contentis nowIList<MessageContentPart>instead ofIList<OutputTextContentPart>
SystemMessageItem
- Constructor changed:
- Before: Accepted
InputTextContentPartorIEnumerable<InputTextContentPart> - After: Accepts
InputTextContentPart,IEnumerable<MessageContentPart>, or a string - Property changed:
Contentis now part of baseMessageItemasIList<MessageContentPart>
UserMessageItem
- Constructor changed:
- Before: Accepted
UserContentPartorIEnumerable<UserContentPart> - After: Accepts
InputTextContentPart,IEnumerable<MessageContentPart>, or a string - Property changed:
Contentis now part of baseMessageItemasIList<MessageContentPart>
ToolChoiceOption
- Constructor parameter renamed:
- Before:
ToolChoiceOption(string stringValue) - After:
ToolChoiceOption(string functionName) - Impact: The parameter name has changed, but functionality remains the same.
Service Version Changes
VoiceLiveClientOptions
- Default service version changed:
- Before:
ServiceVersion.V2025_05_01_Preview - After:
ServiceVersion.V2025_10_01 - Impact: The client now defaults to a newer, non-preview API version.
Class Inheritance Changes
VoiceLiveClientOptions
- Before: Inherited from
Azure.Core.ClientOptions - After: No longer inherits from
ClientOptions, but provides aDiagnosticsOptionsproperty - Impact: Some properties previously available through inheritance may need to be accessed differently.
Content Part Classes
InputAudioContentPart: Now inherits fromMessageContentPartinstead ofUserContentPartInputTextContentPart: Now inherits fromMessageContentPartinstead ofUserContentPartOutputTextContentPart: Now inherits fromMessageContentPartinstead of being standalone
New Required Properties
Turn Detection Classes
Several turn detection classes have new properties that should be considered:
CreateResponse(bool?): Added toServerVadTurnDetection,AzureSemanticVadTurnDetection, and related classesInterruptResponse(bool?): Added to the same turn detection classes
VideoParams
- New optional properties:
Background(VideoBackground): Configure video background settingsGopSize(int?): Configure Group of Pictures size
Property Access Changes
VoiceLiveClient
- Removed:
Pipelineproperty is no longer publicly accessible - Impact: If you were accessing the HTTP pipeline directly, you’ll need to find alternative approaches.
VoiceLiveResponse
- Property changed:
Modalitiesis nowModalitiesInternaland returnsIList<InteractionModality>instead ofSessionUpdateModality
Authentication Changes
VoiceLiveClient Authentication Scope
- Authentication scope changed: The default authentication scope has been updated from
https://cognitiveservices.azure.com/.defaulttohttps://ai.azure.com/.default - Impact: This change should be transparent for most users, but custom authentication implementations may need adjustment.
Class Inheritance and Interface Implementation Changes
AzureSemanticEouDetectionEn and AzureSemanticEouDetectionMultilingual
- Before: These classes were incomplete and did not properly inherit from base classes
- After: Both classes now properly inherit from
EouDetectionand implement full serialization interfaces - Impact: These classes are now fully functional and consistent with the API pattern
Migration Guide
-
Update enum usage: While the conversion to extensible enums maintains backward compatibility through implicit conversions, consider updating to use the new struct-based pattern for future-proofing.
- Rename types: Find and replace all occurrences of renamed types:
AudioInputTranscriptionSettings→AudioInputTranscriptionOptionsInputModality→InteractionModalityResponseMaxOutputTokensOption→MaxResponseOutputTokensOption
-
Update inheritance: Replace
UserContentPartwithMessageContentPartin any custom implementations. -
Update constructors: Review and update all MessageItem-derived class instantiations to use the new constructor signatures.
-
Update threshold properties: Replace float
Thresholdproperties with appropriateThresholdLevelproperties using the new enum values. - Consider new properties: Review the new
CreateResponseandInterruptResponseproperties in turn detection configurations to see if they benefit your use case.
unknown 1.0.0-beta.4 Changelog
Breaking Changes
- Removed all synchronous methods from
VoiceLiveClientandVoiceLiveSessionclasses. VoiceLiveClient.StartSession()- useStartSessionAsync()insteadVoiceLiveSession.AddItem()- useAddItemAsync()insteadVoiceLiveSession.AppendAudioToTurn()- useAppendAudioToTurnAsync()insteadVoiceLiveSession.CancelAudioTurn()- useCancelAudioTurnAsync()insteadVoiceLiveSession.CancelResponse()- useCancelResponseAsync()insteadVoiceLiveSession.ClearInputAudio()- useClearInputAudioAsync()insteadVoiceLiveSession.ClearStreamingAudio()- useClearStreamingAudioAsync()insteadVoiceLiveSession.Close()- useCloseAsync()insteadVoiceLiveSession.CommitInputAudio()- useCommitInputAudioAsync()insteadVoiceLiveSession.ConfigureSession()- useConfigureSessionAsync()insteadVoiceLiveSession.Connect()- useConnectAsync()insteadVoiceLiveSession.ConnectAvatar()- useConnectAvatarAsync()insteadVoiceLiveSession.DeleteItem()- useDeleteItemAsync()insteadVoiceLiveSession.EndAudioTurn()- useEndAudioTurnAsync()insteadVoiceLiveSession.GetUpdates()- useGetUpdatesAsync()insteadVoiceLiveSession.ReceiveUpdates()- useReceiveUpdatesAsync()insteadVoiceLiveSession.RequestItemRetrieval()- useRequestItemRetrievalAsync()insteadVoiceLiveSession.SendCommand()- useSendCommandAsync()insteadVoiceLiveSession.SendInputAudio()- useSendInputAudioAsync()insteadVoiceLiveSession.StartAudioTurn()- useStartAudioTurnAsync()insteadVoiceLiveSession.StartResponse()- useStartResponseAsync()insteadVoiceLiveSession.TruncateConversation()- useTruncateConversationAsync()instead- Removed
RespondingAgentOptionsand associated property usage.
unknown 1.0.0 Changelog
Breaking Changes
- SessionResponse changes:
- Removed public
Objectproperty (now internal) - Renamed
ModalitiesInternalproperty toModalities - Changed
Voiceproperty type fromBinaryDatato strongly typedVoiceProvider -
Changed
MaxOutputTokensproperty type fromBinaryDatato strongly typedMaxResponseOutputTokensOption - SessionResponseItem changes:
-
Removed public
Objectproperty (now internal) - VoiceLiveSessionResponse changes:
- No longer inherits from
VoiceLiveSessionOptions - Constructor changed from internal to public
- Properties now have public setters:
Id,Model,Animation,Instructions,InputAudioSamplingRate,InputAudioFormat,OutputAudioFormat,InputAudioNoiseReduction,InputAudioEchoCancellation,Avatar,InputAudioTranscription,Temperature -
Added new read-only properties:
Voice,MaxResponseOutputTokens,ToolChoice,TurnDetection - VoiceProvider changes:
- Removed internal
ToBinaryData()method
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.Agents.Persistent --version 1.2.0-beta.6
$> dotnet add package Azure.AI.OpenAI --version 2.5.0-beta.1
$> dotnet add package Azure.AI.Projects --version 1.0.0
$> dotnet add package Azure.AI.VoiceLive --version 1.0.0-beta.2
$> dotnet add package Azure.AI.VoiceLive --version 1.0.0-beta.3
$> dotnet add package Azure.AI.VoiceLive --version 1.0.0-beta.4
$> dotnet add package Azure.AI.VoiceLive --version 1.0.0
$> dotnet add package Azure.Communication.Email --version 1.1.0
$> dotnet add package Azure.Communication.Messages --version 1.3.0-beta.2
$> dotnet add package Azure.Core --version 1.49.0
$> dotnet add package Azure.Health.Deidentification --version 1.1.0-beta.1
$> dotnet add package Azure.Identity --version 1.17.0
$> dotnet add package Azure.ResourceManager.AppContainers --version 1.5.0
$> dotnet add package Azure.ResourceManager.Authorization --version 1.1.6
$> dotnet add package Azure.ResourceManager.Compute --version 1.12.0
$> dotnet add package Azure.ResourceManager.Compute.Recommender --version 1.0.0-beta.1
$> dotnet add package Azure.ResourceManager.ContainerInstance --version 1.3.0
$> dotnet add package Azure.ResourceManager.DataMigration --version 1.0.0
$> dotnet add package Azure.ResourceManager.DataProtectionBackup --version 1.7.0
$> dotnet add package Azure.ResourceManager.DisconnectedOperations --version 1.0.0-beta.1
$> dotnet add package Azure.ResourceManager.EventHubs --version 1.2.1
$> dotnet add package Azure.ResourceManager.KeyVault --version 1.3.3
$> dotnet add package Azure.ResourceManager.Network --version 1.12.0
$> dotnet add package Azure.ResourceManager.OracleDatabase --version 1.2.0
$> dotnet add package Azure.ResourceManager.Quota --version 1.2.0
$> dotnet add package Azure.ResourceManager.SiteManager --version 1.0.0
$> dotnet add package Azure.ResourceManager.Storage --version 1.5.0
$> dotnet add package Azure.ResourceManager.StorageCache --version 1.4.0
$> dotnet add package Azure.Search.Documents --version 11.7.0
$> dotnet add package Azure.Storage.Blobs --version 12.25.1
$> dotnet add package Microsoft.Azure.WebPubSub.AspNetCore --version 1.5.0
$> dotnet add package Microsoft.Extensions.Azure --version 1.13.0
$> dotnet add package System.ClientModel --version 1.7.0
Feedback
If you have a bug or feature request for one of the libraries, please file an issue in our repo.