1.57.0 (2026-05-21)
Features Added
- Added
RequestContent.Create(BinaryContent)overload that adapts aSystem.ClientModel.BinaryContentinstance into aAzure.Core.RequestContentinstance. - Added experimental (
SCME0002)AzureCredentialResolverthat resolves Azure token credential sections (e.g.AzureCliCredential,ManagedIdentityCredential,ChainedTokenCredential) intoTokenCredentialinstances.ApiKeyCredentialsections are not claimed — clients dispatch onCredential.CredentialSourcethemselves. - Added experimental (
SCME0002) extensions onAzure.Identity.ConfigurationExtensions:AddAzureCredentialResolver()onIServiceCollectionandIHostApplicationBuilder— idempotent DI registration.IConfiguration.GetAzureCredentialSettings(sectionName, ...)— returnsCredentialSettings?withTokenProviderpopulated for token sources andKeypopulated for inline ApiKey sources, so a single call site can dispatch on either shape without binding aClientSettings.IConfiguration.GetAzureClientSettings<T>(sectionName, params CredentialResolver[] resolvers)— resolver-aware overload.
- The Azure OpenAI default-scope quirk now writes
Credential:Scopeat the credential-section root (the canonical SCM 1.12.0+ location) instead ofCredential:AdditionalProperties:Scope. SCM 1.12.0 reads both locations so existing configs continue to work.
Breaking Changes
- Removed experimental (
SCME0002)WithAzureCredentialextension methods onClientSettingsandIClientBuilder. For DI, useAddAzureClient<TClient, TSettings>/AddKeyedAzureClient<TClient, TSettings>(which registerAzureCredentialResolverautomatically), or callAddAzureCredentialResolver()followed byAddClient<TClient, TSettings>/AddKeyedClient<TClient, TSettings>. For standalone scenarios, useIConfiguration.GetAzureClientSettings<T>(...)orIConfiguration.GetAzureCredentialSettings(...).