Skip to content

Releases: AzureAD/microsoft-authentication-library-for-dotnet

4.58.0

29 Nov 20:21
9d29dc4
Compare
Choose a tag to compare

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. Use WithTenantId or WithTenantIdFromAuthority 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

19 Oct 00:42
498fca8
Compare
Choose a tag to compare

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

06 Sep 07:29
e4c0b36
Compare
Choose a tag to compare

New Features

Bug Fixes

  • Added throttling logic for acquiring tokens for managed identity (using AcquireTokenForManagedIdentity and WithAppTokenProvider) 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

24 Jul 21:07
2439c36
Compare
Choose a tag to compare

New Features

  • A user assigned managed identity can now be specified using its object ID. 4215.

Bug Fixes

  • WithTenantId now works with CIAM authorities. See 4191.
  • Improved the error message when cache serialization fails. See 4206.
  • Improved logging when using the Windows broker (WAM). See 4183.

4.54.1

24 May 22:14
c99a106
Compare
Choose a tag to compare

New Features

  • The client-side telemetry API (ITelemetryClient) is now generally available. See 3784.
  • Added WithSearchInCacheForLongRunningProcess() modifier which allows InitiateLongRunningProcessInWebApi method to search in cache. This flag is intended only for rare legacy cases; for most cases, rely on the default behavior of InitiateLongRunningProcessInWebApi and AcquireTokenInLongRunningProcess. See 4124.

Bug Fixes

  • WithTenantId can now be used with dSTS authorities to overwrite the tenant. See 4144, 4145.
  • Fixed a bug in token serialization for rare cases when an ID token has no oid claim. See 4140.

4.54.0

11 May 18:05
390a6d6
Compare
Choose a tag to compare

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 property AdditionalExceptionData, 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 when WithAccount is specified when acquiring tokens interactively and selecting a different account in the account picker. See 3991.

4.53.0

14 Apr 18:43
653aeaf
Compare
Choose a tag to compare

New Features

  • Added support for CIAM authorities. See 3990

Bug Fixes

  • Fixed issue where WAM is invoked for B2C authorities. MSAL will now fall back to the browser for this scenario. See 4072

4.52.0

31 Mar 03:50
218643b
Compare
Choose a tag to compare

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 of net6.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 have spa_accountId parameter which can be used in brokered hybrid single-page application (SPA) scenarios. See 3994.

4.51.0

16 Mar 00:36
d98e56e
Compare
Choose a tag to compare

New Features

  • Simplified managed identity API. Use ManagedIdentityApplicationBuilder to create a IManagedIdentityApplication and call AcquireTokenForManagedIdentity. See 3970 and wiki.
  • Added StopLongRunningProcessInWebApiAsync which allows to remove cached tokens based on a long-running OBO key. See 3346 and wiki.

Bug Fixes

  • InitiateLongRunningProcessInWebApi will now always acquire new tokens from AAD without checking the token cache first. See 3825.
  • When using preview Windows broker, MSAL will correctly handle the transitive reference to Microsoft.Identity.Client.NativeInterop. Any explicit references to Microsoft.Identity.Client.NativeInterop in projects also referencing MSAL should be removed. See 3964.
  • Fixed preview Windows broker throwing a signed out exception when calling AcquireTokenSilent after acquiring token using the Username/Password flow. See 3916 and See 3961.

4.50.0

13 Feb 22:46
e652bad
Compare
Choose a tag to compare

New Features

  • Extended managed identity experimental functionality with support for Azure Cloud Shell. See 3832.
  • Added support for PII logging for WAM preview. See 3845, 3822.

Bug Fixes

  • Fixed JSON serialization issues for apps running on .NET 7. See 3892.
  • Improved logging performance to only create logs when a specified log level is enabled. See 3901.
  • Fixed Unable to load DLL 'msalruntime' exception for apps that use WAM preview and are packaged as MSIX. See 3740.
  • WAM preview now honors the login hint. See 3301 and WAM docs.
  • WAM preview now allows to sign in with an account different from the provided login hint. See 3929.
  • Fixed an ApiContractViolation exception in WAM preview when signing out. See 3685.
  • MSAL now allows passing no scopes when using WAM preview. See 3675.
  • When broker is enabled, MSAL will now use the refresh token from the broker instead of a locally cached one. See 3613.
  • Added a more descriptive error message when combined flat user and app cache is used. Use a partitioned token cache (for ex. distributed cache like Redis) or separate files for app and user token caches. See 3218.
  • Updated logs to clarify that managed identity correlation ID differs from MSAL one. See #3908.
  • Fixed an occasional cryptographic exception by removing the RSA public key size check - AAD is better suited to handle this verification. See 3896.
  • Fixed JSON parsing errors when receiving an error token response. See 3883.
  • Added better error handling when receiving WS-Trust responses. See 3614.
  • WithAuthority methods on the request builders are hidden. Use either WithTenantId on the request builders or WithAuthority only on the application builder. See #2929.
  • Deprecated IsBrokerAvailable method on mobile platforms. Applications should rely on the library automatically falling back to a browser if the broker is not available. See 3320.
  • Deprecated unused extended expiry API. See 1377.