2.0.0-beta.1 (2026-08-05)
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.
Other Changes
- Renamed several generated model and enum types in the .NET client to follow Azure SDK for .NET naming guidelines (C# only; the REST contract and other language SDKs are unchanged):
Bundle→LedgerBundle,Constitution→LedgerConstitution,Metadata→LedgerEndpointMetadata,Mode→LedgerEndpointMode,Role→LedgerRole,Collection→LedgerCollectionInfo, andUserDefinedFunctionExecutionResponse→UserDefinedFunctionExecution.