Azure SDK for .NET (August 2026)
The Azure SDK team is pleased to announce our August 2026 client library releases.
57 packages released this month.
Stable Packages (17)
-
App Configuration
-
Core - Client - Core
-
Device Update
-
Document Translation
-
OpenTelemetry AspNetCore
-
Planetary Computer
-
Resource Management - Computelimit
-
Resource Management - Container Service
-
Resource Management - Container Service Fleet
-
Resource Management - Cosmos DB
-
Resource Management - Event Hubs
-
Resource Management - Hybrid Compute
-
Resource Management - NetApp Files
-
Resource Management - Service Bus
-
System Events
-
System.ClientModel
-
Voice Live
Patch Updates (1)
- OpenTelemetry Exporter
Beta Packages (37)
-
AI Agent Server - Core
-
AI Agent Server - Invocations
-
AI Agent Server - Responses
-
App Configuration
-
Code Transparency
-
Confidential Ledger
-
Content Understanding
-
Personalizer
-
Provisioning - Attestation
-
Provisioning - Compute
-
Provisioning - Domainregistration
-
Provisioning - Event Hubs
-
Provisioning - Iothub
-
Provisioning - Recoveryservices
-
Provisioning - Recoveryservicesbackup
-
Resource Management - App Configuration
-
Resource Management - Authorization
-
Resource Management - Cloud Health
-
Resource Management - Compute Fleet
-
Resource Management - Compute Recommender
-
Resource Management - Compute Schedule
-
Resource Management - Compute.Bulkactions
-
Resource Management - Container Registry
-
Resource Management - Container Service
-
Resource Management - Containerservicepreparedimgspec
-
Resource Management - Datadog
-
Resource Management - Discovery
-
Resource Management - Enclave
-
Resource Management - IoT Hub
-
Resource Management - NetApp Files
-
Storage - Blobs
-
Storage - Blobs Batch
-
Storage - Blobs ChangeFeed
-
Storage - Common
-
Storage - Files Data Lake
-
Storage - Files Share
-
Storage - Queues
Release highlights
AI Agent Server - Core 1.0.0-beta.27 Changelog
Features Added
- Added a durable key-value state store client under
Azure.AI.AgentServer.Core.Storage.FoundryStateStore.GetOrCreateAsyncbinds (creating if needed) a named, Foundry-backed store; instances expose asyncGetAsync/UpdateAsync/DeleteAsyncfor the store andCreateItemAsync/SetItemAsync/GetItemAsync/DeleteItemAsync/ListKeysAsyncfor its items, with optimistic concurrency (If-Match/ETag), optional per-user isolation, and store-level item TTL. The .NET analogue of the Python SDK’sFoundryStateStore. - Added support for Microsoft Entra authentication when exporting telemetry to Azure Monitor. When
APPLICATIONINSIGHTS_AUTH_MODEis set toEntra, the Azure Monitor exporter attempts to use a system-assigned managed identity credential (falling back to connection-string authentication if the credential cannot be created).
AI Agent Server - Core 1.0.0-beta.28 Changelog
Features Added
FoundryStateStoreitem operations now accept an explicitcallIdand forward the ambientFoundryAgentRequestContext.Current.CallIdby default. Resilient task handlers restore a top-level persistedcall_idfor every execution attempt.- Added resilient task and streaming primitives for building durable, long-running agents (
Azure.AI.AgentServer.Core.TasksandAzure.AI.AgentServer.Core.Streaming): - Register one-shot and multi-turn tasks with
IServiceCollection.AddResilientTasks()and theResilientTaskBuilder(AddTask/AddMultiTurnTask), including overloads that accept a source-generatedJsonTypeInfo<TInput>for Native-AOT / trimming-safe input serialization. The reflection-based overloads carry[RequiresUnreferencedCode]/[RequiresDynamicCode]so trimming/AOT builds get a compile-time warning steering them to theJsonTypeInfo<TInput>overloads. - Run and resume tasks through
ITaskInvoker(RunAsync,StartAsync,GetActiveRunAsync) with theTaskRun<TOutput>handle (await itsCompletiontask, orCompletion.WaitAsync(token)to cancel only your wait) and theTaskContext<TInput>handler surface (entry mode, retry attempt, cooperative cancellation, shutdown, and steering signals). - Configure per-task durability with
TaskRegistrationOptions(title, timeout, retry) andTaskRetryPolicy(attempt count + anAzure.Core.DelayStrategyfor the backoff). - Resumable event streaming with
AgentEventStreamRegistry/AgentEventStreamandAddAgentEventStreams(), supporting in-memory live, in-memory replay, and file-backed replay backings viaAgentEventStreamOptions. The event representation isSystem.Net.ServerSentEvents.SseItem<string>: the caller places the serialized event text inSseItem<string>.Dataand an opaqueSseItem<string>.EventIdis the resume/reconnect token (Subscribe(afterEventId),GetLastEventIdAsync()). Because the data is already a string, there is no payload codec —SseFormattercan frame aSubscribe(...)stream directly onto an HTTP response. - A single
ResilientTaskExceptioncarrying an extensibleResilientTaskErrorCode(HandlerError,ExhaustedRetries,Conflict,PreconditionFailed,QueueFull) with code-specific data exposed as nullable properties (CurrentStatus,ActualLastInputId,Failure). Argument validation surfaces asArgumentExceptionand cancellation asOperationCanceledException; recovery deferral (ExitForRecoveryAsync) is an internal lifecycle handoff and never surfaces as an exception. The streaming layer keeps itsAgentEventStreamExceptionhierarchy.
Bugs Fixed
- Kept the task lease renewed across retry backoff delays so a long inter-attempt backoff cannot let the lease lapse and allow a concurrent re-invocation of the same task turn.
- Hardened the resilient-task engine shutdown signalling against a benign race between a completing turn and host disposal.
- A one-shot task whose durable completion write fails, and a multi-turn task whose durable suspend write fails, now surface the failure to the caller instead of reporting success while the record remains
in_progress(which a later recovery scan could re-run). - The local file-backed task store now serializes its existence check and record write under the same lock as patch/delete, so two concurrent creates for the same id can no longer both succeed with the later write silently overwriting the earlier record.
- The file-backed event-stream custom serializer/deserializer are now
Func<object, string>/Func<string, object>(previouslybyte[]), matching the UTF-8 JSON-string on-disk format so a custom codec cannot silently corrupt non-UTF-8 payloads. - The local file-backed task store now writes each record through a temporary file and an atomic replace, so a crash mid-write can no longer leave a truncated record that reads back as a parse error and renders the task id permanently unusable.
- The per-task write gate is no longer disposed when its bookkeeping entry is removed, closing a race where a concurrent write could observe
ObjectDisposedExceptionon a gate that was torn down while still in use. - A turn transition that replaces and disposes a handler’s cancellation source concurrently with a cancel/steering signal no longer surfaces
ObjectDisposedExceptionfrom the cancel path. AddResilientTasksandAddAgentEventStreamsare now safe against repeated registration:AddResilientTasksno longer registers the durability hosted service more than once (and rejects a conflicting second credential), andAddAgentEventStreamsrejects a second configuring call instead of silently discarding its configuration.- Steering inputs that were queued but not yet drained when a process crashed are no longer stranded: on recovery the persisted
pending_inputsqueue is rehydrated into the in-process steering FIFO, so a recovered chain drains them instead of silently dropping them. Each queued input’s per-turnInputIdis persisted alongside it so a recovered turn keeps its own identity and advances the chain head (last_input_id) exactly as it would without a crash.
AI Agent Server - Invocations 1.0.0-beta.6 Changelog
Features Added
- AsyncAPI discovery endpoints —
InvocationHandlernow exposes two new virtual methods,GetAsyncApiJsonAsyncandGetAsyncApiYamlAsync, served atGET /invocations/docs/asyncapi.jsonandGET /invocations/docs/asyncapi.yamlrespectively. Both default to404; override either or both to publish the AsyncAPI companion to the existingopenapi.jsonendpoint for streaming/bidirectional surfaces (e.g. theinvocations_wsWebSocket protocol) that OpenAPI cannot express. The path extension is authoritative for the returned content type — noAcceptnegotiation and no format conversion.
AI Agent Server - Responses 1.0.0-beta.8 Changelog
Features Added
- Resilient responses. Resilient background responses (
ResponsesServerOptions.ResilientBackground) are composed directly on theAzure.AI.AgentServer.Coredurable-task and event-stream primitives rather than a bespoke Responses-owned recovery stack, matching the Python implementation. Interrupted background responses are automatically recovered and re-invoked in the next process lifetime. - Resilient streaming with checkpoint/resumption: handlers persist durable snapshots at safe
boundaries via
ResponseEventStream.Checkpoint()and, on a recovered entry, reconstruct the resumption response fromResponseContext.IsRecovery/ResponseContext.PersistedResponse. - Steerable conversations (
ResponsesServerOptions.SteerableConversations) with in-turn steering: a superseding turn enqueues and drains against the active turn, observable throughResponseContext.IsSteeredTurnandResponseContext.PendingInputCount; fork, lock, and queue-full conflicts map to409 Conflict. - Internal metadata is persisted for recovery and stripped on egress so it never leaks to clients.
- Fail-loud composition validation: misconfigured resilient setups fail at startup with actionable errors instead of silently degrading.
- The local default response provider is now file-based (durable) when resilient background is enabled outside a hosted environment.
- Every stored (
store=true) request now runs its handler inside a Core resilient task — foreground or background, streaming or non-streaming — so a crashed turn is task-tracked and recovered/marked-failed by the next-lifetime recovery scan (matching the Python resilience contract; onlystore=falseruns inline). Streaming relays the per-response event stream immediately, preserving standalone SSEerrorsemantics for pre-creation failures andresponse.failed(notresponse.completed) for terminal persistence failures. - A streaming turn superseded by steering that reaches its terminal via the framework
completion fallback (a non-cooperative handler that lets its token trip without emitting its
own terminal) is now durably persisted as
completed, so the client-visibleresponse.completedmatches the stored record and the turn is valid conversation context for the draining steered turn (FR-053).
Breaking Changes
- Removed
ConversationChainMetadata,ConversationChainMetadataNamespace,ResponseContext.ConversationChainMetadata, andResponseContextExtensions.MetadataNamespace. Durable application state now belongs in an explicitAzure.AI.AgentServer.Core.Storage.FoundryStateStorescoped withResponseContext.ConversationChainId. - Removed the public
ResponsesStreamProviderabstract class and the publicIAsyncObserver<T>interface. SSE streaming is now composed on theAzure.AI.AgentServer.Coreevent-stream primitive (IEventStreamRegistry/IEventStream) rather than a Responses-owned stream provider, matching the Python implementation. The local default event-stream backing is in-memory replay, upgraded automatically to durable file-backed replay when resilient background is enabled outside a hosted environment.
App Configuration 1.11.0 Changelog
Features Added
- Improved authentication in sovereign clouds (such as Bleu) when using a
TokenCredential. Previously, if you did not setConfigurationClientOptions.Audience, the client fell back to the Azure Public Cloud audience and authentication could fail. The client now infers the correct Microsoft Entra audience from your App Configuration endpoint, so no additional configuration is required. Public, Azure China, and Azure US Government endpoints continue to work as before, and you can still setAudienceexplicitly to override the inferred value.
App Configuration 1.12.0-beta.1 Changelog
Features Added
- Added a
Descriptionproperty onConfigurationSettingandConfigurationSnapshotto associate descriptive text with settings and snapshots. - Added
SettingFields.DescriptionsoDescriptioncan be requested when retrieving configuration settings. - Added support for
2024-09-01,2026-04-01, and2026-05-01-preview(default) service API versions. - Added support for the new feature flag endpoint via a dedicated
FeatureFlagClient, which exposesGetFeatureFlag,GetFeatureFlags,AddFeatureFlag,SetFeatureFlag, andDeleteFeatureFlagoperations (and their async counterparts), along with theFeatureFlagmodel and related types (FeatureFlagConditions,FeatureFlagAllocation,FeatureFlagTelemetryConfiguration,FeatureFlagVariantDefinition, etc.). Requires the2026-05-01-previewservice API version.
Code Transparency 1.0.0-beta.12 Changelog
Bugs Fixed
- Fixed asynchronous registration and receipt retrieval against a still-pending transaction. When a
write is routed to a backup node the service replies with a redirect whose
Location(for example/entries/{entryId}) omits theapi-version.CodeTransparencyRedirectPolicynow carries the originating request’sapi-versiononto followed303/307/308redirect targets, so the subsequent read stays on the versioned API instead of falling back to the service’s unversioned (legacy) behavior. On the versioned API a read of a not-yet-committed entry is answered with a302 FoundwhoseLocationpoints back at the same entry URL; the followed read now treats that302as retriable, and the client’s default retry settings were raised (more, exponentially backed-off retries starting at 200 ms) so the pipeline polls until the committed receipt (200). All retry and delay values remain overridable throughCodeTransparencyClientOptions.Retry.
Confidential Ledger 2.0.0-beta.1 Changelog
Features Added
- Added support for stable API version 2026-02-23.
- Added opt-in support for the Azure Confidential Ledger Gateway via
ConfidentialLedgerClientOptions.UseLedgerGateway. When enabled: - The SDK skips the per-ledger CCF identity-service TLS bootstrap. The gateway uses publicly-rooted certificates, so the OS trust store is sufficient.
ConfidentialLedgerClient.PostLedgerEntryaccepts an HTTP 202 response and returns an operation whoseIdis the gateway-assignedoperationId(read from thex-ms-webfe-operation-idresponse header, with a fallback to the response body). The operation transparently pollsGET /app/operations/{operationId}and surfaces the underlying CCF transaction once committed.- Client-certificate (mTLS) authentication is rejected at construction time — only
TokenCredentialis supported by the gateway. - Primary-node redirect caching (added in 1.4.1-beta.5) is automatically disabled, since the gateway brokers node routing on the server side.
- Added
ConfidentialLedgerClient.GetOperationStatus/GetOperationStatusAsyncfor direct polling of the gateway operation queue. - Added
ConfidentialLedgerClient.RehydratePostLedgerEntryOperation(string operationId)for resuming a previously-started write submission across process restarts (no I/O is performed until polling begins). Operation IDs remain valid on the server for the gateway’s operation-record retention period.
Bugs Fixed
PostLedgerEntryOperation.GetRawResponse()now returns the initial submit response before the first poll. Previously, callers usingWaitUntil.Startedwho inspected response headers (for examplex-ms-ccf-transaction-idorx-ms-webfe-operation-id) on the returned operation observed aNullReferenceException.
Confidential Ledger 2.0.0-beta.2 Changelog
Bugs Fixed
- Failover requests are now validated by endpoint-specific transports against that ledger’s own identity TLS certificate, fetched from the independently validated Identity Service. A certificate trusted for one ledger cannot authenticate another ledger. Custom transports remain supported.
PostLedgerEntryOperationnow treats transient406 NotAcceptableresponses from the status endpoint asPendingand tolerates exactly 3 consecutive404 NotFoundHTTP responses while a transaction is replicated. The operation-specific 404 tolerance no longer multiplies with pipeline retries; normal 404 retry behavior remains unchanged for other operations.- Archived-collection fallback responses now preserve the complete historical ledger entry payload, including optional tags.
Features Added
- Added support to route retryable HTTP responses and retryable transport failures to failover ledgers for
GetLedgerEntry,GetLedgerEntryAsync,GetCurrentLedgerEntry, andGetCurrentLedgerEntryAsync. No other reads or writes fail over. The primary and every failover endpoint receive independent normal retry budgets; caller cancellation never initiates failover, and the original primary failure is preserved if discovery or all failovers fail. - Added
ConfidentialLedgerClientOptions.Failoverto control the order in which failover endpoints are attempted:Ordered(default, preserves the order reported by the identity service) orRandom(shuffles the candidates to spread load across failover ledgers). - Added
ConfidentialLedgerClientOptions.FailoverNetworkTimeout. When set, this network timeout applies independently to requests against each failover endpoint. When unset, the configured retry network timeout applies. - The client now treats a
GetLedgerEntry/GetLedgerEntryAsyncresponse that is still in theLoadingstate as transient and automatically polls until the entry is committed, bounded by the client’s configured retry settings (ClientOptions.Retry.MaxRetriesattempts withClientOptions.Retry.Delaybetween attempts). Callers no longer need to write a manual polling loop. -
Added
ConfidentialLedgerClientOptions.EnableArchivedCollectionFallback. It defaults totrue, soGetCurrentLedgerEntryandGetCurrentLedgerEntryAsynctransparently fall back to a historical query for a collection whose latest entry has been archived (pruned), without additional caller logic or configuration. Set it tofalseto retain the legacy404 Not Foundbehavior. - Added strongly typed convenience overloads for service operations. The existing protocol methods remain available for advanced scenarios.
- Added experimental configuration and host-builder integration through
ConfidentialLedgerClientSettingsandConfidentialLedgerClientHostExtensions.
Breaking Changes
- Renamed and moved
Azure.Security.ConfidentialLedger.Models.SecurityConfidentialLedgerModelFactorytoAzure.Security.ConfidentialLedger.ConfidentialLedgerModelFactory.
Content Understanding 1.2.0-beta.3 Changelog
Features Added
- Added support for service API version
2026-06-01-preview, which is the default service API version for this beta package. - Added inline analysis convenience APIs
AnalyzeInline/AnalyzeInlineAsyncandAnalyzeBinaryInline/AnalyzeBinaryInlineAsync, available only with service API version2026-06-01-preview. These returnAnalysisResultin a single HTTP 200 response (no LRO polling) and throwRequestFailedExceptionwhen the inline operation status is not Succeeded.AnalyzeBinaryInline*includes aContentRange?convenience overload matchingAnalyzeBinary*. See Sample 18 and Sample 19. - Added
AnalyzeBinaryOptionsand correspondingAnalyzeBinary*/AnalyzeBinaryInline*overloads for binary analyze request settings (ContentRange,ContentType,ProcessingLocation, and future options). Required analyzer ID and binary input live on the options bag. See Sample 01 and Sample 19. - Added
AnalyzeOptionsand correspondingAnalyze*/AnalyzeInline*overloads for JSON analyze request settings (ModelDeployments,ProcessingLocation, and future options). Required analyzer ID and inputs live on the options bag. - Added semantic chunking for custom analyzers in
2026-06-01-preview: configureContentAnalyzerConfig.ChunkingStrategywithSemanticChunkingStrategy(for exampleMaxTokens) when creating an analyzer, then readDocumentContent.Chunks(DocumentChunkspans into markdown) from the analysis result. See Sample 17. - Added analyzer workflow selection via
ContentAnalyzerConfig.Workflow/ContentAnalyzerWorkflowfor2026-06-01-preview. OmitWorkflowfor standard extraction, or setContentAnalyzerWorkflow.Agenticwhen an answer must be built from evidence. See Sample 16. - Added signature detection via
DocumentSignature/DocumentContent.Signaturesfor2026-06-01-previewwhen layout extraction is enabled (EnableLayout, includingprebuilt-layout). See Detect signatures and Sample 10. - Added in-page segmentation opt-in via
ContentAnalyzerConfig.AllowInPageSegmentsfor2026-06-01-preview. Used withEnableSegment, this allows classification segments to split within a page (for example supplemental statements appended after a K-1 tax form) instead of only at page boundaries. See Classify in-page segments. - Added embedded document metadata via
AnalysisContent.Metadatafor2026-06-01-preview. See Extract document metadata. - Added analysis diagnostics via
AnalysisResult.Infosfor2026-06-01-preview. The collection exposes service information asResponseErrorvalues for troubleshooting. See Analysis diagnostics. - Updated
ToLlmInput(preview) to emit analysis-result metadata (AnalysisContent.Metadata) under ametadata:front-matter block. See ToLlmInput. - Added
AnalyzeOperationExtensions.GetUsageDetails()to return generatedUsageDetailsfrom a completed analyze LRO (Operation<AnalysisResult>) or inline analyze response (Response<AnalysisResult>). See Sample 03, Sample 18, and Sample 19.GetUsage()/AnalyzeUsageDetailsare obsolete and retained for 1.1.0 compatibility.
Core - Client - Core 1.61.0 Changelog
Bugs Fixed
- Fixed an issue where response content logging could emit more bytes than were actually read when a non-buffered (streaming) response was read into a buffer larger than the response body. Previously, when the read began at offset 0, the entire caller-supplied buffer was logged — including the bytes past the response payload, which for a pooled buffer contain unrelated in-process content — and the configured
LoggedContentSizeLimitwas not applied. The logging policy now logs only the bytes that were read. (#61399) - Fixed an issue where
RequestFailedExceptioncould throw a secondaryArgumentNullExceptionwhile formatting a failed response that had a text content-type header but an empty body, masking the actual service failure. The exception now preserves the original HTTP status, reason phrase, and headers, and no longer formats empty response content. - Fixed
AzureCliCredentialto not pass both--tenantand--subscriptionflags to the Azure CLI, as the CLI rejects this combination. When a tenant is requested (for example, via challenge-based authentication) it now takes precedence and--subscriptionis omitted;--subscriptionis used only when no tenant is requested. (#58949)
Features Added
- Added
AzureAuthorityHosts.AzureBleuCloud(https://login.sovcloud-identity.fr/), the Microsoft Entra authority host for Bleu Cloud, the national partner cloud for France. Interactive credentials’Authenticatemethods now also resolve the default Azure Resource Manager scope for Bleu Cloud.
Device Update 1.1.0 Changelog
Features Added
- Regenerated the client library from the TypeSpec specification for the Device Update for IoT Hub
2026-06-01GA API version. - Added support for TLS-secured update payload downloads.
Document Translation 3.0.0 Changelog
Features Added
- Added support for the
2026-03-01service API version, which is now the default. - Added image translation support: the
TranslateTextWithinImageproperty onBatchOptionsfor batch requests, and atranslateTextWithinImageparameter onSingleDocumentTranslationClient.TranslateandTranslateAsyncfor single document requests. - Added
StartTranslationandStartTranslationAsyncconvenience overloads onDocumentTranslationClientthat take anIEnumerable<DocumentTranslationInput>plus atranslateTextWithinImageflag, so batch image translation can be enabled without constructing aTranslationBatch/BatchOptions. - Added image scan reporting to
DocumentStatusResult:ImageCharactersDetected,ImagesCharged,TotalImageScansSucceeded, andTotalImageScansFailed. - Added the
DeploymentNameproperty toTranslationTargetto specify the deployment name of the custom translation model for a batch translation request. - Added the
DeploymentNameproperty toDocumentStatusResult, exposing the deployment name of the custom translation model used for the translation. - Added the
deploymentNameparameter toSingleDocumentTranslationClient.TranslateandTranslateAsyncfor single document translation requests. - Added dependency-injection and hosting support via
DocumentTranslationClientHostExtensions,SingleDocumentTranslationClientHostExtensions, theDocumentTranslationClientSettingsandSingleDocumentTranslationClientSettingstypes, and new constructors that accept these settings.
Breaking Changes
- Changed the default
DocumentTranslationClientOptions.ServiceVersionfromV2024_05_01toV2026_03_01, and removed the interimV2024_11_01_PreviewandV2025_12_01_Previewpreview service versions. Use the stableV2026_03_01version instead. - Added
deploymentNameandtranslateTextWithinImageparameters (positioned aftercategory) to theSingleDocumentTranslationClient.TranslateandTranslateAsyncoverloads. This is a binary-breaking change for existing callers. - Made the format type parameter required (
FileFormatType fileFormatTypeinstead ofFileFormatType? type) onDocumentTranslationClient.GetSupportedFormatsandGetSupportedFormatsAsync, since the2026-03-01service version requires it. SpecifyFileFormatType.DocumentorFileFormatType.Glossary. The previous nullable overload is retained for binary compatibility but now throwsNotSupportedExceptionwhen called without a type.
OpenTelemetry AspNetCore 1.6.0 Changelog
Bugs Fixed
- Hardened Azure Monitor ingestion and Live Metrics redirect handling to prevent credentials and telemetry from being forwarded to untrusted destinations. (#61244)
OpenTelemetry Exporter 1.8.3 Changelog
Bugs Fixed
- Hardened ingestion and Live Metrics redirect handling to reject untrusted destinations before replaying telemetry or caching the redirect. Redirect targets must now use HTTPS and match an approved Azure Monitor trust boundary, preventing credentials and telemetry from being forwarded to attacker-controlled endpoints. (#61244)
Personalizer 2.0.0-beta.3 Changelog
Bugs Fixed
Breaking Changes
Features Added
Planetary Computer 1.0.0 Changelog
Features Added
- General availability release of the Azure Planetary Computer client library for .NET.
- Full support for STAC API (v1.0.0) operations: collections, items, search, and tiles endpoints.
- Data client with support for rendering data (GetTile, GetPreview, GetStatistics, GetBounds, GetWmtsCapabilities).
- Ingestion client for managing data ingestion workflows.
- Managed Storage Shared Access Signature (SAS) client for secure token generation.
- Full async/await support throughout the SDK.
- Support for .NET 8.0, .NET 10.0, and .NET Standard 2.0.
- Added
PlanetaryComputerProClientSettingsto support creating aPlanetaryComputerProClientfromIConfiguration, including configuration-based credential resolution and dependency injection registration. - Data client methods with many parameters use options bag pattern for improved usability (e.g.,
GetItemPointAsync(GetItemPointOptions)).
Provisioning - Attestation 1.0.0-beta.1 Changelog
Provisioning - Compute 1.0.0-beta.2 Changelog
Provisioning - Domainregistration 1.0.0-beta.1 Changelog
Provisioning - Event Hubs 1.2.0-beta.1 Changelog
Provisioning - Iothub 1.0.0-beta.1 Changelog
Provisioning - Recoveryservices 1.0.0-beta.1 Changelog
Provisioning - Recoveryservicesbackup 1.0.0-beta.1 Changelog
Resource Management - App Configuration 1.5.0-beta.2 Changelog
Resource Management - Authorization 1.2.0-beta.1 Changelog
Resource Management - Cloud Health 1.0.0-beta.4 Changelog
Resource Management - Compute Fleet 1.1.0-beta.3 Changelog
Resource Management - Compute Recommender 1.1.0-beta.1 Changelog
Resource Management - Compute Schedule 1.2.0-beta.5 Changelog
Resource Management - Compute.Bulkactions 1.2.0-beta.1 Changelog
Resource Management - Computelimit 1.4.0 Changelog
Resource Management - Container Registry 1.5.0-beta.3 Changelog
Resource Management - Container Service 1.6.0 Changelog
Resource Management - Container Service 1.7.0-beta.1 Changelog
Resource Management - Container Service Fleet 1.2.0 Changelog
Resource Management - Containerservicepreparedimgspec 1.0.0-beta.1 Changelog
Resource Management - Cosmos DB 1.5.0 Changelog
Resource Management - Datadog 1.1.0-beta.2 Changelog
Resource Management - Discovery 1.0.0-beta.1 Changelog
Resource Management - Enclave 1.0.0-beta.1 Changelog
Resource Management - Event Hubs 1.3.0 Changelog
Resource Management - Hybrid Compute 1.1.0 Changelog
Resource Management - IoT Hub 1.2.0-beta.4 Changelog
Resource Management - NetApp Files 1.18.0 Changelog
Resource Management - NetApp Files 1.19.0-beta.1 Changelog
Resource Management - Service Bus 1.2.0 Changelog
Storage - Blobs 12.30.0-beta.1 Changelog
Features Added
- Added support for service version 2026-10-06.
- Added
AccessTier,AccessTierInferred,AccessTierChangedOn, andSmartAccessTiertoBlobDownloadDetails. - Added support for PUT blob operations returning both the existing MD5 content hash and the new CRC64 checksum.
- Added support for Apache Arrow response format for
GetBlobsandGetBlobsByHierarchy. - Added support for the
EndBeforeproperty inGetBlobsandGetBlobsByHierarchy. Note thatEndBeforeis currently only available for Apache Arrow response format and is not returned for XML response format.
Breaking Changes
- Block IDs generated during partitioned uploads are now randomly generated instead of based on sequential integers. This ensures uniqueness across concurrent uploads to the same blob but means block IDs are no longer predictable or ordered.
Storage - Blobs Batch 12.27.0-beta.1 Changelog
Features Added
- Added support for service version 2026-10-06.
Storage - Blobs ChangeFeed 12.0.0-preview.64 Changelog
Features Added
- Added support for service version 2026-10-06.
Storage - Common 12.29.0-beta.1 Changelog
Features Added
- This release contains bug fixes to improve quality.
Storage - Files Data Lake 12.28.0-beta.1 Changelog
Features Added
- Added support for service version 2026-10-06.
Storage - Files Share 12.28.0-beta.1 Changelog
Features Added
- Added support for service version 2026-10-06.
- Added
ShareFileClient.GetAllRangeList(),GetAllRangeListAsync(),GetAllRangeListDiff(), andGetAllRangeListDiffAsync().
Storage - Queues 12.28.0-beta.1 Changelog
Features Added
- Added support for service version 2026-10-06.
System Events 1.1.0 Changelog
Features Added
- Implemented
IJsonModelandIPersistableModeldeserialization methods for events.
System.ClientModel 1.15.0 Changelog
Features Added
- Added sealed, one-shot
AsyncStreamingClientResult<T>for asynchronous streaming responses, with factories for custom producers, server-sent events, and newline-delimited JSON.
Bugs Fixed
- Fixed an issue where response content logging could emit more bytes than were actually read when a non-buffered (streaming) response was read into a buffer larger than the response body. Previously, when the read began at offset 0,
MessageLoggingPolicylogged the entire caller-supplied buffer — including the bytes past the response payload, which for a pooled buffer contain unrelated in-process content — and the configuredMessageContentSizeLimitwas not applied. Only the bytes that were read are now logged. (#61399)
Voice Live 1.2.0 Changelog
Features Added
- Added
AzureRealtimeNativeVoiceandAzureRealtimeNativeVoiceNamewith 12 new voice options (Aarti, Andrew, Ava, Denise, Diya, Elsa, Florian, Francisca, Meera, Xiaoxiao, Ximena, Yunxi). - Added
AllowParallelToolCallsproperty onVoiceLiveSessionOptions. - Added
ChannelsandReferenceSource(EchoCancellationReferenceSource) properties onAudioEchoCancellation. - Added streaming text input events:
ClientEventInputTextDelta,ClientEventInputTextDone. - Added
ServerEventResponseInvocationDeltafor streaming invocation deltas. - Added
ExpiresOnproperty onVoiceLiveSessionResponse(server-set session expiration time). - Added the
2026-07-15GA service version (VoiceLiveClientOptions.ServiceVersion.V2026_07_15), which is now the default.
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.AgentServer.Core --version 1.0.0-beta.27
$> dotnet add package Azure.AI.AgentServer.Core --version 1.0.0-beta.28
$> dotnet add package Azure.AI.AgentServer.Invocations --version 1.0.0-beta.6
$> dotnet add package Azure.AI.AgentServer.Responses --version 1.0.0-beta.8
$> dotnet add package Azure.AI.ContentUnderstanding --version 1.2.0-beta.3
$> dotnet add package Azure.AI.Personalizer --version 2.0.0-beta.3
$> dotnet add package Azure.AI.Translation.Document --version 3.0.0
$> dotnet add package Azure.AI.VoiceLive --version 1.2.0
$> dotnet add package Azure.Analytics.PlanetaryComputer --version 1.0.0
$> dotnet add package Azure.Core --version 1.61.0
$> dotnet add package Azure.Data.AppConfiguration --version 1.11.0
$> dotnet add package Azure.Data.AppConfiguration --version 1.12.0-beta.1
$> dotnet add package Azure.IoT.DeviceUpdate --version 1.1.0
$> dotnet add package Azure.Messaging.EventGrid.SystemEvents --version 1.1.0
$> dotnet add package Azure.Monitor.OpenTelemetry.AspNetCore --version 1.6.0
$> dotnet add package Azure.Monitor.OpenTelemetry.Exporter --version 1.8.3
$> dotnet add package Azure.Provisioning.Attestation --version 1.0.0-beta.1
$> dotnet add package Azure.Provisioning.Compute --version 1.0.0-beta.2
$> dotnet add package Azure.Provisioning.DomainRegistration --version 1.0.0-beta.1
$> dotnet add package Azure.Provisioning.EventHubs --version 1.2.0-beta.1
$> dotnet add package Azure.Provisioning.IotHub --version 1.0.0-beta.1
$> dotnet add package Azure.Provisioning.RecoveryServices --version 1.0.0-beta.1
$> dotnet add package Azure.Provisioning.RecoveryServicesBackup --version 1.0.0-beta.1
$> dotnet add package Azure.ResourceManager.AppConfiguration --version 1.5.0-beta.2
$> dotnet add package Azure.ResourceManager.Authorization --version 1.2.0-beta.1
$> dotnet add package Azure.ResourceManager.CloudHealth --version 1.0.0-beta.4
$> dotnet add package Azure.ResourceManager.Compute.BulkActions --version 1.2.0-beta.1
$> dotnet add package Azure.ResourceManager.Compute.Recommender --version 1.1.0-beta.1
$> dotnet add package Azure.ResourceManager.ComputeFleet --version 1.1.0-beta.3
$> dotnet add package Azure.ResourceManager.ComputeLimit --version 1.4.0
$> dotnet add package Azure.ResourceManager.ComputeSchedule --version 1.2.0-beta.5
$> dotnet add package Azure.ResourceManager.ContainerRegistry --version 1.5.0-beta.3
$> dotnet add package Azure.ResourceManager.ContainerService --version 1.6.0
$> dotnet add package Azure.ResourceManager.ContainerService --version 1.7.0-beta.1
$> dotnet add package Azure.ResourceManager.ContainerServiceFleet --version 1.2.0
$> dotnet add package Azure.ResourceManager.ContainerServicePreparedImgSpec --version 1.0.0-beta.1
$> dotnet add package Azure.ResourceManager.CosmosDB --version 1.5.0
$> dotnet add package Azure.ResourceManager.Datadog --version 1.1.0-beta.2
$> dotnet add package Azure.ResourceManager.Discovery --version 1.0.0-beta.1
$> dotnet add package Azure.ResourceManager.Enclave --version 1.0.0-beta.1
$> dotnet add package Azure.ResourceManager.EventHubs --version 1.3.0
$> dotnet add package Azure.ResourceManager.HybridCompute --version 1.1.0
$> dotnet add package Azure.ResourceManager.IotHub --version 1.2.0-beta.4
$> dotnet add package Azure.ResourceManager.NetApp --version 1.18.0
$> dotnet add package Azure.ResourceManager.NetApp --version 1.19.0-beta.1
$> dotnet add package Azure.ResourceManager.ServiceBus --version 1.2.0
$> dotnet add package Azure.Security.CodeTransparency --version 1.0.0-beta.12
$> dotnet add package Azure.Security.ConfidentialLedger --version 2.0.0-beta.1
$> dotnet add package Azure.Security.ConfidentialLedger --version 2.0.0-beta.2
$> dotnet add package Azure.Storage.Blobs --version 12.30.0-beta.1
$> dotnet add package Azure.Storage.Blobs.Batch --version 12.27.0-beta.1
$> dotnet add package Azure.Storage.Blobs.ChangeFeed --version 12.0.0-preview.64
$> dotnet add package Azure.Storage.Common --version 12.29.0-beta.1
$> dotnet add package Azure.Storage.Files.DataLake --version 12.28.0-beta.1
$> dotnet add package Azure.Storage.Files.Shares --version 12.28.0-beta.1
$> dotnet add package Azure.Storage.Queues --version 12.28.0-beta.1
$> dotnet add package System.ClientModel --version 1.15.0
Feedback
If you have a bug or feature request for one of the libraries, please file an issue in our repo.