Releases: AzureAD/microsoft-authentication-library-for-dotnet
Releases · AzureAD/microsoft-authentication-library-for-dotnet
4.59.0
New Features
- Removed support for deprecated Xamarin.Android 9 and Xamarin.Android 10 frameworks. MSAL.NET packages will no longer include
monoandroid90
andmonoandroid10.0
binaries and instead includemonoandroid12.0
. Xamarin.Android apps should now target framework version 12 (corresponding to Android API level 31) or above. See 3530. - Removed support for deprecated .NET 4.5 framework. MSAL.NET packages will no longer include
net45
binary. Existing applications should target at least .NET 4.6.2. See 4314.
Bug Fixes
- When public client apps persist cache data on Linux platforms, exceptions are now thrown, instead of just logged. This behavior is now consistent with Windows and Mac cache accessors. See 4493.
- Downgraded System.Diagnostics.DiagnosticSource dependency to 6.0.1 from 7.0.2 to enable apps to run in .NET 6 in-process Azure Functions. Added extra checks to prevent crashing if OpenTelemetry dependencies cannot be used in the app's runtime. See 4456.
- MSAL now throws
MsalServiceException
instead ofMsalManagedIdentityException
in managed identity flows. See 4483. - Background proactive token refresh operation can now be cancelled using the cancelation token passed into the parent acquire token call. See 4473.
- Fixed
SemaphoreFullException
happening in managed identity flows. See 4472. - Improved exception messages when using non-RSA certificates. See 4407.
- Fixed a scenario when the same tokens are cached under different cache keys when an identity provider sends scopes in a different order. See 4474.
4.58.1
New Features
- Added
WithForceRefresh
support for silent flows using the Windows broker. See 4457.
Bug Fixes
- Fixed a bug when a
x-ms-pkeyauth
HTTP header was incorrectly sent on Mac and Linux platforms. See 4445. - Fixed an issue with client capabilities and claims JSON not being merged correctly. See 4447.
- MSAL can now be used in .NET 8 applications which use native AOT configuration binder source generator. See 4453.
- Fixed an issue with sending an incorrect operating system descriptor in silent flows on Mac. See 4444.
4.58.0
New Features
- Removed support for deprecated .NET 4.6.1 framework and added .NET 4.6.2 support. MSAL.NET packages will no longer include
net461
binary. Existing .NET 4.6.1 apps will now reference .NET Standard 2.0 MSAL binary. See 4315. - MSAL.NET repository now supports Central Package Management. See 3434.
- Added instrumentation to collect metrics with Open Telemetry. Aggregated metrics consist of successful and failed token acquisition calls, total request duration, duration in cache, and duration in a network call. See 4229.
Bug Fixes
- Resolved the issue with dual-headed accounts that share the same UPN for both, Microsoft (MSA) and Microsoft Entra ID (Azure AD) accounts. See 4425.
- MSAL now correctly falls back to use local cache if broker fails to return a result for
AcquireTokenSilent
calls. See 4395. - Fixed a bug when the cache level in the telemetry was not correctly set to L1 Cache when in-memory cache was used. See 4414.
- Deprecated
WithAuthority
on the request builders. Set the authority on the application builders. UseWithTenantId
orWithTenantIdFromAuthority
on the request builder to update the tenant ID. See 4406. - Fixed an issue with the Windows broker dependencies when the app was targetting NativeAOT on Windows. See 4424.
- Updated Microsoft.Identity.Client.NativeInterop reference to version 0.13.14, which includes bug fixes and stability improvements. See 4439.
4.57.0
New Features
- Removed support for deprecated .NET Core 2.1 framework. MSAL.NET packages will no longer include
netcoreapp2.1
binary. Existing .NET Core 2.1 apps will now reference .NET Standard 2.0 MSAL binary. See 4313. - Added additional logging in the cache. See 3957.
- Removed unused HTTP telemetry data (
x-client-info
). See 4167. - Updated
Microsoft.Identity.Client.NativeInterop
reference to version 0.13.12, which includes bug fixes and stability improvements. See 4374.
Bug Fixes
- Added simple retry logic for signing client assertions failures. See 4366.
- Fixed inconsistencies in throwing exceptions for badly formatted authorities. Now MSAL will always throw an
ArgumentException
if an authority is in incorrect format (e.g., doesn't start with HTTPS, has spaces, etc.) See 4280. - Included missing Windows broker-related exception data when serializing MSAL exceptions. See 4371.
- Fixed a crash when using managed identity and provided resource is null. See 4332.
- Removed duplicate Windows broker logs. See 4353.
4.56.0
New Features
- MSAL.NET cache extensions (Microsoft.Identity.Client.Extensions.Msal) package has been moved to the main MSAL.NET repository (where any new issues should be created). The package version has been increased to match the main MSAL version. Along with this move, support for .NET 4.5 and .NET Core 3.1 was removed and this package now only supports .NET Standard 2.0. Additionally, Microsoft.Identity.Client.Extensions.Adal has been deprecated. See 3152, 4330.
- Added
AuthenticationResult.AuthenticationResultMetadata.Telemetry
that currently contains telemetry from the Windows broker (WAM). See 4159.
Bug Fixes
- Added throttling logic for acquiring tokens for managed identity (using
AcquireTokenForManagedIdentity
andWithAppTokenProvider
) to prevent the throttling exceptions thrown by the managed identity endpoints. See 4196. - Enabled cache synchronization by default. This helps to keep the cache consistent when a singleton confidential client application (CCA) is used with enabled external token cache serialization. The cache synchronization has a negligible performance effect when CCA is created per request. See 4268.
- Fixed an authority validation error in interactive flows when an Active Directory Federation Services (ADFS) authority with a tenant ID was used. See 4272.
- Added clarity to the Windows broker logs. See 4318.
4.55.0
4.54.1
New Features
- The client-side telemetry API (
ITelemetryClient
) is now generally available. See 3784. - Added
WithSearchInCacheForLongRunningProcess()
modifier which allowsInitiateLongRunningProcessInWebApi
method to search in cache. This flag is intended only for rare legacy cases; for most cases, rely on the default behavior ofInitiateLongRunningProcessInWebApi
andAcquireTokenInLongRunningProcess
. See 4124.
Bug Fixes
4.54.0
New Features
- Acquiring tokens with managed identity is now generally available. See 4125 and documentation for managed identity in MSAL.NET.
- Updated the managed identity API to specify the identity type when creating an
ManagedIdentityApplication
. See 4114. - When acquiring tokens with managed identity and using the default HTTP client, MSAL will retry the request for certain exception codes. See 4067.
- Adds
MsalManagedIdentityException
class that represents any managed identity related exceptions. It includes general exception information including the Azure source from which the exception originates. See 4041. - MSAL will now proactively refresh tokens acquired with managed identity. See 4062.
- MSAL will now proactively refresh tokens acquired using
AppTokenProvider
API. See 4074. MsalException
and derived exception classes now have a propertyAdditionalExceptionData
, which holds any extra error information. Currently it is only populated for exceptions coming from the Windows authentication broker (WAM). See 4106.- For HTTP telemetry. added a new telemetry ID for long-running on-behalf-of requests. See 4099.
Bug Fixes
- Fixed a JSON serialization issue in iOS apps that are built in release Ahead-Of-Time (AOT) compilation mode. See 4082.
- MSAL.NET package now references correct Microsoft.iOS version. See 4091.
- Microsoft.Identity.Client.Broker package can now be used in projects which rely on the older package.config. See 4108.
- Fixed a
user_mismatch
error whenWithAccount
is specified when acquiring tokens interactively and selecting a different account in the account picker. See 3991.
4.53.0
4.52.0
New Features
- The improved experience using Windows broker (WAM) is now generally available for all desktop platforms, except UWP. See 3375, 3447.
- Acquiring Proof-of-Possession tokens on public desktop clients using WAM broker is now generally available. See 3992.
- The requirement for a specific Windows SDK version on .NET 6 platform has been removed, which should improve the package usage on .NET 6 platforms. MSAL.NET now targets a more general
net6.0-windows
instead ofnet6.0-windows10.0.17763.0
. See 3986. - Added support for non-Azure AD IdP's in client credential flows. Use
WithGenericAuthority(authority)
. This is still an experimental API and may change in the future. See 4047, 1538. - Added
AuthenticationResult.AdditionalResponseParameters
property bag with any extra parameters from the AAD response. This collection will also havespa_accountId
parameter which can be used in brokered hybrid single-page application (SPA) scenarios. See 3994.