Releases: AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet
Releases · AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet
8.16.0
8.15.0
New Features
- Add ECDsa support in
X509SecurityKeyandJsonWebKeyConverter.ConvertFromX509SecurityKey
ExtendedX509SecurityKeyandJsonWebKeyConverter.ConvertFromX509SecurityKeyto support ECDSA keys.
See PR #2377 for details.
Bug Fixes
- Sanitize logs to avoid leaking sensitive data
Updated logging to sanitize sensitive values, reducing the risk of inadvertently exposing secrets or PII in logs.
See PR #3316 for details. - Optimize log sanitization with
SearchValues
Improved the performance of the log sanitization logic introduced earlier by usingSearchValues, making sanitization more efficient in high-throughput scenarios.
See PR #3341 for details. - Update test for
IDX10400
Adjusted theIDX10400test to align with the current behavior and error messaging.
See PR #3314 for details.
Fundamentals
- Add supported algorithm tests
Added new tests to validate the set of supported cryptographic algorithms, increasing confidence in algorithm coverage and compatibility.
See PR #3296 for details. - Migrate repository agent rules from
.clinerulestoagents.md
Moved repository agent/AI-assist rules into markdown documentation to make them more visible and easier to maintain.
See PR #3313 for details. - Migrate
Microsoft.IdentityModel.TestExtensionsfrom Newtonsoft.Json to System.Text.Json
UpdatedMicrosoft.IdentityModel.TestExtensionsto useSystem.Text.Jsoninstead ofNewtonsoft.Json, aligning tests with the runtime serialization stack.
See PR #3356 for details. - Disable code coverage comments
Turned off automated code coverage comments on PRs to reduce noise while retaining coverage data elsewhere.
See PR #3349 for details. - Fix CodeQL alerts
Addressed CodeQL-reported issues to improve security posture and static analysis cleanliness.
See PR #3364 for details.
.NET 10 / SDK and tooling updates
- Building with .NET 10 preview / RC 1
Updated the repository to build and test against .NET 10.0 preview/RC1, ensuring early compatibility with the upcoming runtime.
See PRs #3287, #3357, and #3358 for details. - Fix .NET 10 test execution consistency
Ensured consistent use of theTargetNetNextparameter across build, test, and pack phases so .NET 10.0 tests execute reliably.
See PR #3337 for details. - Update project files and workflows for .NET 10.0 compatibility
Adjusted project files and CI workflows to correctly target and run on .NET 10.0, including test and pack scenarios.
See PR #3363 for details. - Update .NET version to meet CG compliance
Updated the .NET version references to be compliant with corporate governance (CG) requirements.
See PR #3353 for details. - Update Coverlet collector and test SDK
- Update
runTests.ps1to specify dotnet directory
UpdatedrunTests.ps1to accept an explicit dotnet directory, improving test execution robustness in environments with multiple SDK installations.
See PR #3368 for details. - Adjust dotnetcore workflow targeting for .NET 10 SDK
Iterated on the CI workflow configuration to correctly target the .NET 10 SDK:
Documentation
- Update support policy documentation
RefreshedsupportPolicy.mdto reflect the latest support policy for IdentityModel.
See PR #3367 for details.
8.14.0
8.13.1
8.13.1
Dependencies
Microsoft.IdentityModel now depends on Microsoft.Identity.Abstractions 9.3.0
Bug Fixes
- Fixed a decompression failure happening for large JWE payloads. See #3286 for details.
Work related to redesign of IdentityModel's token validation logic #2711
- Update the validation methods to return Microsoft.Identity.Abstractions.OperationResult. See #3284 for details.
8.13.0
8.13.0
8.13.0
Fundamentals
CaseSensitiveClaimsIdentity.SecurityTokensetter is now protected internal (was internal). See PR #3278 for details.- Update .NET SDK version to 9.0.108 used when building or running the code. See PR #3274 for details.
- Update RsaSecurityKey.cs to replace the Pkcs1 padding by Pss from HasPrivateKey check. See #3280 for details.
What's Changed
- Make CaseSensitiveClaimsIdentity.SecurityToken setter protected by @keegan-caruso in #3278
- Update .NET SDK version in global.json from 9.0.107 to 9.0.108 by @Copilot in #3274
- Update RsaSecurityKey.cs to remove Pkcs 1 by @keegan-caruso in #3280
- changelog for 8.13 by @jennyf19 in #3282
New Contributors
- @Copilot made their first contribution in #3274
Full Changelog: 8.12.1...8.13.0
8.12.1
8.12.1
Fundamentals
- Update .NET SDK version to 9.0.107 used when building or running the code. See #3263 for details.
- To keep our experimental code separate from production code, all files associated with experimental features have been moved to the Experimental folders. See PR #3261 for details.
- Experimental code leaked into TokenValidationResult from early prototypes. See PR #3259 for details.
What's Changed
- Remove experimental code from TokenValidationResult by @brentschmaltz in #3259
- Moved files to experimental folder by @brentschmaltz in #3261
- Update global.json to latest by @jennyf19 in #3263
Full Changelog: 8.12.0...8.12.1
8.12.0
8.12.0
New Features
- Enhance ConfigurationManager with event handling
Added event handling capabilities to theConfigurationManager, enabling consumers to subscribe to configuration change events. This enhancement improves extensibility and allows more responsive applications. For details see #3253
Bug Fixes
- Add expected Base64UrlEncoder.Decode overload for NET6 and 8
Introduced the expected overload ofBase64UrlEncoder.Decodefor .NET 6 and 8, ensuring compatibility and preventing missing method issues on these frameworks.
For details see #3249
Fundamentals
- Add AI assist rules
Incorporated AI assist rules to enhance AI agents effectiveness.
For details see #3255 - Update PublicApiAnalyzers and BannedApiAnalyzers to 4.14.0
Upgraded analyzer packages for improved diagnostics and code consistency (in particular delegates are added).
For details see #3256 - Move suppression of RS006 to csproj
Centralized suppression of RS006 warnings in project files for easier management.
For details see #3230
What's Changed
- Move suppression of RS006 to csproj. by @brentschmaltz in #3230
- Add expected Base64UrlEncoder.Decode overload for NET6 and 8 by @pmaytak in #3250
- add ai assist rules by @jennyf19 in #3255
- Enhance ConfigurationManager with event handling by @GeoK in #3254
- Update PublicApiAnalyzers and BannedApiAnalyzers to 4.14.0 by @pmaytak in #3256
- Update CHANGELOG.md for 8.12.0 by @jmprieur in #3258
Full Changelog: 8.11.0...8.12.0
8.11.0
8.11.0
New Features:
- Microsoft.IdentityModel now exposes the AadIssuerValidator factory method publicly to enable caching functionality for AadIssuerValidator instances. See issue #3245 for details.
- Added a new public async API:
JsonWebTokenHandler.DecryptTokenWithConfigurationAsync, which decrypts a JWE token using keys from eitherTokenValidationParametersor, if not present, from configuration (such as via a ConfigurationManager). This enhancement improves developer experience by enabling asynchronous, cancellation-aware JWE decryption scenarios, aligning with modern .NET async patterns and making integration with external key/configuration sources more robust and observable. See PR #3243 for details.
What's Changed
- few updates by @jennyf19 in #3242
- Changelog for 8.10.0 by @sruke in #3241
- Exposes publicly override of AadIssuerValidator factory taking a delegate by @jmprieur in #3244
- update current version to 8.10.0 by @brentschmaltz in #3246
- Add DecryptTokenWithConfiguration API by @pmaytak in #3243
- changelog for 8.11 by @jennyf19 in #3248
Full Changelog: 8.10.0...8.11.0
8.10.0
8.9.0
8.9.0
Bug Fixes
- syncAfter has been updated to preserve UTC information, addressing a bug where GetConfigurationAsync does not refresh configuration in ConfigurationManager. See #3213.
- Fixed a null reference issue in KeyInfo. See #3203.
New Features
- Introduced a new delegate for reading custom token payload values on JsonWebToken. See #2981.
- Added an overload for ReadJsonWebToken to take a ReadOnlyMemory. See #3205.
Fundamentals
- Utilized IList to avoid enumerator allocation during audience validation. See #3204.