Skip to content

Releases: AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet

8.16.0

13 Feb 21:45
f817240

Choose a tag to compare

New Features

  • Add telemetry around signature validation. See PR #3415 for details.

Fundamentals

  • Fix FileVersion format to use two-digit year and day of year. See PR #3389 for details.

8.15.0

19 Nov 21:12
c33522e

Choose a tag to compare

New Features

  • Add ECDsa support in X509SecurityKey and JsonWebKeyConverter.ConvertFromX509SecurityKey
    Extended X509SecurityKey and JsonWebKeyConverter.ConvertFromX509SecurityKey to 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 using SearchValues, making sanitization more efficient in high-throughput scenarios.
    See PR #3341 for details.
  • Update test for IDX10400
    Adjusted the IDX10400 test 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 .clinerules to agents.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.TestExtensions from Newtonsoft.Json to System.Text.Json
    Updated Microsoft.IdentityModel.TestExtensions to use System.Text.Json instead of Newtonsoft.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 the TargetNetNext parameter 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
    • Bumped CoverletCollectorVersion to 6.0.4.
      See PR #3333 for details.
    • Upgraded Microsoft.NET.Test.Sdk to a newer version for improved test reliability and tooling support.
      See PR #3336 for details.
  • Update runTests.ps1 to specify dotnet directory
    Updated runTests.ps1 to 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:
    • Temporarily removed targeting of the .NET 10 SDK in dotnetcore.yml.
      See PR #3335.
    • Reverted that change to restore .NET 10 SDK targeting.
      See PR #3339 for details.

Documentation

  • Update support policy documentation
    Refreshed supportPolicy.md to reflect the latest support policy for IdentityModel.
    See PR #3367 for details.

8.14.0

15 Aug 23:29
c8f7d87

Choose a tag to compare

8.14.0

Bug Fixes

  • Switch back to use ValidationResult instead of OperationResult when validating a token in a new experimental validation flow. Additionally removed the dependency on Microsoft.IdentityModel.Abstractions. See #3299 for details.

8.13.1

08 Aug 20:54
1badce8

Choose a tag to compare

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

21 Jul 19:01
d25996a

Choose a tag to compare

8.13.0

Fundamentals

  • CaseSensitiveClaimsIdentity.SecurityToken setter 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

18 Jun 00:30
edd8166

Choose a tag to compare

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

Full Changelog: 8.12.0...8.12.1

8.12.0

04 Jun 01:30
ec9d65b

Choose a tag to compare

8.12.0

New Features

  • Enhance ConfigurationManager with event handling
    Added event handling capabilities to the ConfigurationManager, 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 of Base64UrlEncoder.Decode for .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

Full Changelog: 8.11.0...8.12.0

8.11.0

23 May 17:33
2995aab

Choose a tag to compare

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 either TokenValidationParameters or, 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

Full Changelog: 8.10.0...8.11.0

8.10.0

16 May 00:52
793bd34

Choose a tag to compare

8.10.0

Bug Fixes

  • Corrected casing of the Type attribute in SubjectConfirmationData. See #3206.
  • Removed Microsoft.Bcl.Memory dependency for pre-.NET 9.0 targets. See #3220.
  • Aligned Microsoft.Extensions.Logging.Abstractions version to 8.0.0 for .NET 9 to match other targets. See #3226.

Fundamentals

  • Introduced Long-Term Support (LTS) policy. See #3228 and #3232.

8.9.0

24 Apr 21:11
d912369

Choose a tag to compare

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.