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 on SubmitToolApprovalUpdate 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

Features Added

  • Added convenience CreateOrUpdate methods for AIProjectIndex objects

Breaking Changes

  • Name changes:
  • AssetDeployment has been renamed to AIProjectDeployment
  • BlobReference has been renamed to AIProjectBlobReference
  • ConnectionProperties has been renamed to AIProjectConnection
  • FileDatasetVersion has been renamed to FileDataset
  • FolderDatasetVersion has been renamed to FolderDataset
  • SasCredential has been renamed to BlobReferenceSasCredential
  • SearchIndex has been renamed to AIProjectIndex
  • Removed GetOpenAIClient method. Look at Inference samples for how to get the client now.
  • All other Get*Client methods have been removed. Use the AIProjectClient properties Connections, Datasets, Deployments, and Indexes instead.

Azure AI Search 11.7.0 Changelog

Breaking Changes

  • VectorSearchCompression.RerankWithOriginalVectors and VectorSearchCompression.DefaultOversampling don’t work with 2025-09-01 and were replaced by VectorSearchCompression.RescoringOptions.EnabledRescoring and VectorSearchCompression.RescoringOptions.DefaultOversampling. If using 2024-07-01 continue using the old properties, otherwise if using 2025-09-01 use the new properties in RescoringOptions.

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 defining SearchIndex, SimpleField, and SearchableField and the ability to use it when analyzing text with SearchIndexClient.AnalyzeText.
  • Support DocumentIntelligenceLayoutSkill skillset skill and OneLake SearchIndexerDataSourceConnection data source.
  • Support for QueryDebugMode in searching to retrieve detailed information about search processing. Only vector is supported for QueryDebugMode.

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 the cid scheme. The ContentId property can be set on the EmailAttachment 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, include DeidentificationContent.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 of WithTenantIdFromAuthority 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

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 with Color and ImageUrl properties
  • Added new properties to VideoParams:
  • Background (VideoBackground): Configure video background settings
  • GopSize (int?): Configure Group of Pictures size
  • Added new properties to turn detection classes for enhanced control:
  • CreateResponse (bool?): Added to ServerVadTurnDetection, AzureSemanticVadTurnDetection, and related classes
  • InterruptResponse (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 now AudioInputTranscriptionOptions
  • Model property renamed: AudioInputTranscriptionSettingsModel is now AudioInputTranscriptionOptionsModel
  • Impact: Update all references to use the new type name.
InputModality → InteractionModality
  • Type renamed: InputModality is now InteractionModality
  • Impact: Update all references from InputModality to InteractionModality throughout your code.
ResponseMaxOutputTokensOption → MaxResponseOutputTokensOption
  • Type renamed: ResponseMaxOutputTokensOption is now MaxResponseOutputTokensOption
  • 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 with ThresholdLevel using new threshold level types:
  • AzureSemanticDetectionThresholdLevel for AzureSemanticEouDetection
  • AzureSemanticDetectionEnThresholdLevel for AzureSemanticEouDetectionEn
  • AzureSemanticDetectionMultilingualThresholdLevel for AzureSemanticEouDetectionMultilingual
  • 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 or IEnumerable<OutputTextContentPart>
  • After: Accepts MessageContentPart, IEnumerable<MessageContentPart>, or a string
  • Property changed: Content is now IList<MessageContentPart> instead of IList<OutputTextContentPart>
SystemMessageItem
  • Constructor changed:
  • Before: Accepted InputTextContentPart or IEnumerable<InputTextContentPart>
  • After: Accepts InputTextContentPart, IEnumerable<MessageContentPart>, or a string
  • Property changed: Content is now part of base MessageItem as IList<MessageContentPart>
UserMessageItem
  • Constructor changed:
  • Before: Accepted UserContentPart or IEnumerable<UserContentPart>
  • After: Accepts InputTextContentPart, IEnumerable<MessageContentPart>, or a string
  • Property changed: Content is now part of base MessageItem as IList<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 a DiagnosticsOptions property
  • Impact: Some properties previously available through inheritance may need to be accessed differently.
Content Part Classes
  • InputAudioContentPart: Now inherits from MessageContentPart instead of UserContentPart
  • InputTextContentPart: Now inherits from MessageContentPart instead of UserContentPart
  • OutputTextContentPart: Now inherits from MessageContentPart instead of being standalone
New Required Properties
Turn Detection Classes

Several turn detection classes have new properties that should be considered:

  • CreateResponse (bool?): Added to ServerVadTurnDetection, AzureSemanticVadTurnDetection, and related classes
  • InterruptResponse (bool?): Added to the same turn detection classes
VideoParams
  • New optional properties:
  • Background (VideoBackground): Configure video background settings
  • GopSize (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 now ModalitiesInternal and returns IList<InteractionModality> instead of SessionUpdateModality
Authentication Changes
VoiceLiveClient Authentication Scope
  • Authentication scope changed: The default authentication scope has been updated from https://cognitiveservices.azure.com/.default to https://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
  1. 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.

  2. Rename types: Find and replace all occurrences of renamed types:
    • AudioInputTranscriptionSettingsAudioInputTranscriptionOptions
    • InputModalityInteractionModality
    • ResponseMaxOutputTokensOptionMaxResponseOutputTokensOption
  3. Update inheritance: Replace UserContentPart with MessageContentPart in any custom implementations.

  4. Update constructors: Review and update all MessageItem-derived class instantiations to use the new constructor signatures.

  5. Update threshold properties: Replace float Threshold properties with appropriate ThresholdLevel properties using the new enum values.

  6. Consider new properties: Review the new CreateResponse and InterruptResponse 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 and VoiceLiveSession classes.
  • VoiceLiveClient.StartSession() - use StartSessionAsync() instead
  • VoiceLiveSession.AddItem() - use AddItemAsync() instead
  • VoiceLiveSession.AppendAudioToTurn() - use AppendAudioToTurnAsync() instead
  • VoiceLiveSession.CancelAudioTurn() - use CancelAudioTurnAsync() instead
  • VoiceLiveSession.CancelResponse() - use CancelResponseAsync() instead
  • VoiceLiveSession.ClearInputAudio() - use ClearInputAudioAsync() instead
  • VoiceLiveSession.ClearStreamingAudio() - use ClearStreamingAudioAsync() instead
  • VoiceLiveSession.Close() - use CloseAsync() instead
  • VoiceLiveSession.CommitInputAudio() - use CommitInputAudioAsync() instead
  • VoiceLiveSession.ConfigureSession() - use ConfigureSessionAsync() instead
  • VoiceLiveSession.Connect() - use ConnectAsync() instead
  • VoiceLiveSession.ConnectAvatar() - use ConnectAvatarAsync() instead
  • VoiceLiveSession.DeleteItem() - use DeleteItemAsync() instead
  • VoiceLiveSession.EndAudioTurn() - use EndAudioTurnAsync() instead
  • VoiceLiveSession.GetUpdates() - use GetUpdatesAsync() instead
  • VoiceLiveSession.ReceiveUpdates() - use ReceiveUpdatesAsync() instead
  • VoiceLiveSession.RequestItemRetrieval() - use RequestItemRetrievalAsync() instead
  • VoiceLiveSession.SendCommand() - use SendCommandAsync() instead
  • VoiceLiveSession.SendInputAudio() - use SendInputAudioAsync() instead
  • VoiceLiveSession.StartAudioTurn() - use StartAudioTurnAsync() instead
  • VoiceLiveSession.StartResponse() - use StartResponseAsync() instead
  • VoiceLiveSession.TruncateConversation() - use TruncateConversationAsync() 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 to Modalities
  • Changed Voice property type from BinaryData to strongly typed VoiceProvider
  • Changed MaxOutputTokens property type from BinaryData to strongly typed MaxResponseOutputTokensOption

  • 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.