Releases: AzureAD/microsoft-identity-abstractions-for-dotnet
10.0.0
10.0.0
Breaking changes
Rename IAuthorizationHeaderProvider2 to BoundAuthorizationHeaderProvider. This interface extends IAuthorizationHeaderProvider to create authorization headers with a token which is optionally bound to a certificate (for mTLS Pop). For details, see PR #232
In practice, it's unlikely that this breaking change affects anybody as the renamed interface was new in 9.6.0, and not yet used to the team's knowledge.
9.6.0
New features
- Added new authorization header provider interface
IAuthorizationHeaderProvider2supporting token return with binding certificate, expanding certificate-based authentication scenarios. For details, see PR #223 and PR #228. - In the ID property of CredentialDescription, renamed ClientSecret to RedactedClientSecret to be more precise about what this is. For details, see PR #224.
- Added "Thumbprint" to the ID property in CredentialDescription, enhancing traceability for credentials. For details, see PR #212.
Improvements and fundamentals
- Updated support to .NET 10 GA, ensuring compatibility and access to latest platform features. For details, see PR #226.
- Upgraded GitHub Actions workflows to v5 for both checkout and setup-dotnet, improving CI reliability and consistency. For details, see PR #222.
- Synchronized README.md diagrams with the current public API surface to keep documentation up to date. See PR #220.
- Fixed tests affected by recent internal changes. See PR #221.
9.5.0
9.4.0
9.3.0
9.2.0: changelog.md with recent changes since May 17th (#197)
9.2.0
New features
-
OperationResult and OperationError abstractions:
Introduced a newOperationResult<TResult, TError>struct andOperationErrorbase class. These provide a discriminated union for representing either a result or an error, improving error handling and propagation.
See implementation insrc/Microsoft.Identity.Abstractions/Results/OperationResult.csandOperationError.cs. -
DownstreamApiOptions extensibility:
Added two new properties toDownstreamApiOptions:ExtraHeaderParameters(IDictionary<string, string>?): Set extra headers in HTTP requests to downstream APIs.ExtraQueryParameters(IDictionary<string, string>?): Set extra query parameters in HTTP requests to downstream APIs.
This enables more flexible API calls and improved integration scenarios.
Fundamentals
-
Development guidelines and Copilot integration:
- Introduced
.clinerules/abstractions-guidelines.md,.clinerules/csharp-guidelines.md,.clinerules/ai-guidelines.md, and.github/copilot-instructions.mdto formalize and document development, AI assistant, and C# code standards for contributors and tooling. - Solution file and README updated to reference these guidelines.
- Introduced
-
Analyzer and dependency updates:
- Bumped analyzer versions in
Directory.Build.propsfor better static analysis (BannedApiAnalyzers and MicrosoftCodeAnalysisPublicApiAnalyzers updated from 3.3.4 to 4.14.0).
- Bumped analyzer versions in
9.1.0: Update Directory.Build.props (#188)
9.1.0
New features
- Add a new generic IAuthorizationHeaderProvider to have the possiblity of returning authorization header and metadata or error instead of throwing. For details see #172
- Add Algorithm property to CredentialDescription to describe signing credentials. For details see #182
- Adding serializer for CredentialDescription in .NET 8+. See #176
Fundamentals
9.0.0
9.0.0
New features
- Added a new class named
MicrosoftEntraApplicationOptionsinheriting fromIdentityApplicationOptionsand from whichMicrosoftIdentityApplicationOptionsinherits. Moved the EntraID specific properties related to web APIs fromMicrosoftIdentityApplicationOptionstoMicrosoftEntraApplicationOptions.MicrosoftIdentityApplicationOptionsnow only contains the
properties related to web apps and B2C. See #165 for details. - Added a
Nameproperty inMicrosoftEntraApplicationOptionsto allow for dynamic discovery of ASP.NET Core authentication schemes / named options. See #168 for details. - Changed the way the ID property is computed in ClientCredentials. All sensitive data is also now replaced by a hash. See #163 for details.
- Added XML comments with recommendations on which CredentialSource not to use in production. See #167 for details.