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
ServerLabel
onSubmitToolApprovalUpdate
See 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
CreateOrUpdate
methods forAIProjectIndex
objects
Breaking Changes
- Name changes:
AssetDeployment
has been renamed toAIProjectDeployment
BlobReference
has been renamed toAIProjectBlobReference
ConnectionProperties
has been renamed toAIProjectConnection
FileDatasetVersion
has been renamed toFileDataset
FolderDatasetVersion
has been renamed toFolderDataset
SasCredential
has been renamed toBlobReferenceSasCredential
SearchIndex
has been renamed toAIProjectIndex
- Removed
GetOpenAIClient
method. Look at Inference samples for how to get the client now. - All other
Get*Client
methods have been removed. Use theAIProjectClient
propertiesConnections
,Datasets
,Deployments
, andIndexes
instead.
Azure AI Search 11.7.0 Changelog
Breaking Changes
VectorSearchCompression.RerankWithOriginalVectors
andVectorSearchCompression.DefaultOversampling
don’t work with2025-09-01
and were replaced byVectorSearchCompression.RescoringOptions.EnabledRescoring
andVectorSearchCompression.RescoringOptions.DefaultOversampling
. If using2024-07-01
continue using the old properties, otherwise if using2025-09-01
use the new properties inRescoringOptions
.
Features Added
- Added support for
2025-09-01
service 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.RescoringOptions
to configure how vector compression handles the original vector when indexing and how vectors are used during rescoring. - Added
SearchIndex.Description
to provide a textual description of the index. - Support for
LexicalNormalizer
when definingSearchIndex
,SimpleField
, andSearchableField
and the ability to use it when analyzing text withSearchIndexClient.AnalyzeText
. - Support
DocumentIntelligenceLayoutSkill
skillset skill andOneLake
SearchIndexerDataSourceConnection
data source. - Support for
QueryDebugMode
in 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
ContentId
property when sending emails with attachments. This allows consumers to reference attachments in the email body using thecid
scheme. TheContentId
property can be set on theEmailAttachment
object.
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.InputLocale
to 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
WithTenantId
instead ofWithTenantIdFromAuthority
to prevent malformed Uris to the authority.
Microsoft.Azure.WebPubSub.AspNetCore 1.5.0 Changelog
Features Added
- Support a custom hub name in
MapWebPubSubHub
extension method.
OpenAI Inference 2.5.0-beta.1 Changelog
Features Added
- A substantial number of new features are carried forward from the
OpenAI
library. 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
ClientConnection
constructor, accepting credentials and metadata. -
Added
JsonPatch
which 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
VideoBackground
class to support video background customization withColor
andImageUrl
properties - 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:
AudioInputTranscriptionSettings
is nowAudioInputTranscriptionOptions
- Model property renamed:
AudioInputTranscriptionSettingsModel
is nowAudioInputTranscriptionOptionsModel
- Impact: Update all references to use the new type name.
InputModality → InteractionModality
- Type renamed:
InputModality
is nowInteractionModality
- Impact: Update all references from
InputModality
toInteractionModality
throughout your code.
ResponseMaxOutputTokensOption → MaxResponseOutputTokensOption
- Type renamed:
ResponseMaxOutputTokensOption
is nowMaxResponseOutputTokensOption
- Impact: Update all type references to use the new name.
Removed Types
UserContentPart (abstract base class)
- Removed: The abstract
UserContentPart
class has been removed. - Replacement: Use the new
MessageContentPart
abstract base class instead. - Impact: Update inheritance hierarchies to use
MessageContentPart
.
AzureSemanticEnEouDetection
- Removed: This class has been removed.
- Replacement: Use
AzureSemanticEouDetectionEn
instead.
AzureSemanticMultilingualEouDetection
- Removed: This class has been removed.
- Replacement: Use
AzureSemanticEouDetectionMultilingual
instead.
AzureSemanticVadEnTurnDetection
- Removed: This class has been removed.
- Replacement: Use
AzureSemanticVadTurnDetectionEn
instead.
AzureSemanticVadMultilingualTurnDetection
- Removed: This class has been removed.
- Replacement: Use
AzureSemanticVadTurnDetectionMultilingual
instead.
Property Removals
AnimationOptions
- Removed properties:
EmotionDetectionInterval
EmotionDetectionIntervalMs
- Impact: Remove any code that sets or reads these properties.
AzureSemanticEouDetection family
- Changed property:
Threshold
(float) has been replaced withThresholdLevel
using new threshold level types: AzureSemanticDetectionThresholdLevel
forAzureSemanticEouDetection
AzureSemanticDetectionEnThresholdLevel
forAzureSemanticEouDetectionEn
AzureSemanticDetectionMultilingualThresholdLevel
forAzureSemanticEouDetectionMultilingual
- Impact: Update code to use the new
ThresholdLevel
property 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
OutputTextContentPart
orIEnumerable<OutputTextContentPart>
- After: Accepts
MessageContentPart
,IEnumerable<MessageContentPart>
, or a string - Property changed:
Content
is nowIList<MessageContentPart>
instead ofIList<OutputTextContentPart>
SystemMessageItem
- Constructor changed:
- Before: Accepted
InputTextContentPart
orIEnumerable<InputTextContentPart>
- After: Accepts
InputTextContentPart
,IEnumerable<MessageContentPart>
, or a string - Property changed:
Content
is now part of baseMessageItem
asIList<MessageContentPart>
UserMessageItem
- Constructor changed:
- Before: Accepted
UserContentPart
orIEnumerable<UserContentPart>
- After: Accepts
InputTextContentPart
,IEnumerable<MessageContentPart>
, or a string - Property changed:
Content
is now part of baseMessageItem
asIList<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 aDiagnosticsOptions
property - Impact: Some properties previously available through inheritance may need to be accessed differently.
Content Part Classes
InputAudioContentPart
: Now inherits fromMessageContentPart
instead ofUserContentPart
InputTextContentPart
: Now inherits fromMessageContentPart
instead ofUserContentPart
OutputTextContentPart
: Now inherits fromMessageContentPart
instead 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:
Pipeline
property is no longer publicly accessible - Impact: If you were accessing the HTTP pipeline directly, you’ll need to find alternative approaches.
VoiceLiveResponse
- Property changed:
Modalities
is nowModalitiesInternal
and returnsIList<InteractionModality>
instead ofSessionUpdateModality
Authentication Changes
VoiceLiveClient Authentication Scope
- Authentication scope changed: The default authentication scope has been updated from
https://cognitiveservices.azure.com/.default
tohttps://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
EouDetection
and 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
→AudioInputTranscriptionOptions
InputModality
→InteractionModality
ResponseMaxOutputTokensOption
→MaxResponseOutputTokensOption
-
Update inheritance: Replace
UserContentPart
withMessageContentPart
in any custom implementations. -
Update constructors: Review and update all MessageItem-derived class instantiations to use the new constructor signatures.
-
Update threshold properties: Replace float
Threshold
properties with appropriateThresholdLevel
properties using the new enum values. - Consider new properties: Review the new
CreateResponse
andInterruptResponse
properties 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
VoiceLiveClient
andVoiceLiveSession
classes. 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
RespondingAgentOptions
and associated property usage.
unknown 1.0.0 Changelog
Breaking Changes
- SessionResponse changes:
- Removed public
Object
property (now internal) - Renamed
ModalitiesInternal
property toModalities
- Changed
Voice
property type fromBinaryData
to strongly typedVoiceProvider
-
Changed
MaxOutputTokens
property type fromBinaryData
to strongly typedMaxResponseOutputTokensOption
- SessionResponseItem changes:
-
Removed public
Object
property (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.