|
| 1 | +3.0.0-preview |
| 2 | +============= |
| 3 | + |
| 4 | +- For more info on the release, along with code samples, checkout https://aka.ms/msal-net-3x |
| 5 | + |
| 6 | +Breaking changes in MSAL.NET 3: |
| 7 | + |
| 8 | +- `UIBehavior` was renamed to `Prompt` (breaking change) |
| 9 | +- `TokenCacheNotificationArgs` now surfaces an `ITokenCache` instead of a `TokenCache`. This will allow MSAL.NET to provide, in the future, various token cache implementations. |
| 10 | +- `TokenCacheExtensions` was removed and its methods moved to `ITokenCache` (this is a binary breaking change, but not a source level breaking change) |
| 11 | +- The `Serialize` and `Deserialize` methods on `TokenCacheExtention` (which were serializing/deserializing the cache to the MSAL v2 format) were moved to `ITokenCache` and renamed `SerializeMsaV2` and `DeserializeV2 |
| 12 | + |
| 13 | +Changes related to improving app Creation and configuration [MSAL issue](https://github.com/AzureAD/microsoft-authentication-library-for-dotnet/issues/810) |
| 14 | + |
| 15 | +- New class `ApplicationOptions` helps you build an application, for instance, from a configuration file |
| 16 | +- New interface `IMsalHttpClientFactory` to pass-in the HttpClient to use by MSAL.NET to communicate with the endpoints of Microsoft identity platform for developers. |
| 17 | +- New classes `PublicClientApplicationBuilder` and `ConfidentialClientApplicationBuilder` propose a fluent API to instantiate respectively classes implementing `IPublicClientApplication` and `IConfidentialClientApplication` including from configuration files, setting the targetted cloud and audience, but also setting per application logging and telemetry, and setting the `HttpClient`. |
| 18 | +- New delegates `TelemetryCallback` and `TokenCacheCallback` can be set at application construction |
| 19 | +- New enumerations `AadAuthorityAudience` and `AzureCloudInstance` help you writing applications for sovereign and national clouds, and help you choose the audience for your application. |
| 20 | + |
| 21 | +Changes related to improving token acquisition, addressing issues [810](https://github.com/AzureAD/microsoft-authentication-library-for-dotnet/issues/810), [635](https://github.com/AzureAD/microsoft-authentication-library-for-dotnet/issues/635), [426](https://github.com/AzureAD/microsoft-authentication-library-for-dotnet/issues/426), [799](https://github.com/AzureAD/microsoft-authentication-library-for-dotnet/issues/799) : |
| 22 | + |
| 23 | +- `ClientApplicationBase` now implements `IClientApplicationBase` and has new members: |
| 24 | + - `AppConfig` of new type `IAppConfig` contains the configuration of the application |
| 25 | + - `UserTokenCache` of new type `ITokenCache` contains the user token cache (for both public and confidential client applications for all flows, but `AcquireTokenForClient`) |
| 26 | + - New fluent API `AcquireTokenSilent` |
| 27 | +- `PublicClientApplication` and `IPublicClientApplication` have four new fluent APIs: `AcquireTokenByIntegratedWindowsAuth`, `AcquireTokenByUsernamePassword`, `AcquireTokenInteractive`, `AcquireTokenWithDeviceCode`. |
| 28 | +- `ConfidentialClientApplication` has new members: |
| 29 | + - `AppTokenCache` used by `AcquireTokenForClient` |
| 30 | + - Five new fluent APIs: `AcquireTokenByAuthorizationCode`, `AcquireTokenForClient`, `AcquireTokenOnBehalfOf`, `GetAuthorizationRequestUrl`, `IByRefreshToken.AcquireTokenByRefreshToken` |
| 31 | +- New extensibility mechanism to enable public client applications to provide, in a secure way, their own browsing experience to let the user interact with the Microsoft identity platform endpoint (advanced). For this, applications need to implement the `ICustomWebUi` interface and throw `MsalCustomWebUiFailedException` exceptions in case of failure. This can be useful in the case of platforms which don't have yet a Web browser. For instance, the Visual Studio Feedback tool is an Electron application which uses this mechanism. [MSAL issue](https://github.com/AzureAD/microsoft-authentication-library-for-dotnet/issues/863) |
| 32 | +- `MsalServiceException` now surfaces two new properties: |
| 33 | + - `CorrelationId` which can be useful when you interact with Microsoft support. |
| 34 | + - `SubError` which indicates more details about why the error happened, including hints on how to communicate with the end user. [MSAL issue](https://github.com/AzureAD/microsoft-authentication-library-for-dotnet/issues/559) |
| 35 | + |
| 36 | +Changes related to the token cache: |
| 37 | + |
| 38 | +- New interface `ITokenCache` contains primitives to serialize and deserialize the token cache and set the delegates to react to cache changes |
| 39 | +- New methods `SerializeMsalV3` and `DeserializeMsalV3` on `ITokenCache` serialize/deserialize the token cache to a new layout format compatible with other MSAL libraries on Windows/Linux/MacOS. |
| 40 | + |
| 41 | +A few bug fixes: |
| 42 | +- [Update Xamarin dependencies](https://github.com/AzureAD/microsoft-authentication-library-for-dotnet/issues/810) |
| 43 | +- [Send client headers to the user realm endpoint](https://github.com/AzureAD/microsoft-authentication-library-for-dotnet/issues/820) |
| 44 | + |
| 45 | +2.7.1 |
| 46 | +============= |
| 47 | +- **MSAL now handles B2C domains from sovereign clouds, including US Government, Blackforest, and Mooncake**. B2C domains with *.b2clogin.us, *.b2clogin.cn, and *.b2clogin.de are now included in the MSAL allowed domain list for B2C authorities. [MSAL issue](https://github.com/AzureAD/microsoft-authentication-library-for-dotnet/issues/897) |
| 48 | +- **Improved error message handling to detect issues faster and not hit null reference exceptions**. Sometimes, for example, when the instance discovery endpoint is not found, the Oauth2Client in MSAL would hit a null reference exception. MSAL now detects such issues faster and returns a more meaningful error message (e.g. the http response code). |
| 49 | + |
1 | 50 | 2.7.0 |
2 | 51 | ============= |
3 | 52 | - **MSAL integrates SourceLink https://github.com/dotnet/sourcelink.** This allows MSAL to embed pdb files and source code in the NuGet package, allowing users to debug into MSAL without replacing their package reference with a project reference. [MSAL PR](https://github.com/AzureAD/microsoft-authentication-library-for-dotnet/pull/750) |
|
0 commit comments