Skip to content

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

8.9.0

24 Apr 21:11
d912369
Compare
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)[https://github.com//pull/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.

8.8.0

08 Apr 03:05
2f82d57
Compare
Choose a tag to compare

8.8.0

New Features

  • Adds the ability for the metadata refresh to be done as a blocking call, as per 8.0.1 behavior. This is done through the Switch.Microsoft.IdentityModel.UpdateConfigAsBlocking switch. If set, configuration calls will be blocking when metadata is updated, otherwise, if token arrive with a new signing keys, validation errors will be returned to the caller. See PR #3193 for details.
  • Identity.Model updates some log and error messages (IDX10214, IDX10215). If the information is needed for debugging purposes, it can be reverted via the Switch.Microsoft.IdentityModel.DoNotScrubExceptions AppContextSwitch. See PR #3195 and https://aka.ms/identitymodel/app-context-switches for details.
  • Change all plain object locks to System.Thread.Lock objects for .NET 9 or greater. See PRs #3185 and #3189 for details.

8.7.0

21 Mar 17:10
a7808a4
Compare
Choose a tag to compare

Bug Fixes

  • Add back internal methods IsRecoverableException and IsRecoverableExceptionType whose signatures were changed in the previous version. See #3181.

New Features

  • Make Cnf class public and move it to Microsoft.IdentityModel.Tokens package. See #3165.

What's Changed

New Contributors

Full Changelog: 8.6.1...8.7.0

8.6.1

07 Mar 20:07
c083762
Compare
Choose a tag to compare

8.6.1

Bug fix

  • Microsoft.IdentityModel now triggers a configuration refresh if token decryption fails. See issue #3148 for details.
  • Fix a bug in JsonWebTokenHandler where JwtTokenDecryptionParameters's Alg and Enc were not set during token decryption, causing IDX10611 and IDX10619 errors to show null values in the messages. See issue #3003 for details.

Fundamentals

  • For development, IdentityModel now has a global.json file to specify the .NET SDK version. See issue #2995 for details.

What's Changed

New Contributors

Full Changelog: 8.6.0...8.6.1

8.6.0

22 Feb 20:03
96f7b86
Compare
Choose a tag to compare

8.6.0

New Features

  • TokenValidationParameters has a new boolean property TryAllDecryptionKeys that let you choose whether to try all decrypt keys when no key matches the token decrypt key IDs. By default it's set to true (legacy behavior) but you can set it to false to avoid tyring all keys which is more performant. See #3128
  • Promote KeyInfo.MatchesKey from internal to protected internal virtual to enable SAML extensibility (for CoreWcf). See #3140

Fundamentals

  • Update dependency on Microsoft.Extensions.Logging.Abstractions from 9.0.0 to 8.0.2 to avoid package downgrade in apps on .NET 9 using a netstandard2.0 library referencing logging.abstractions. See 3143
  • Add more tests for encrypted tokens. See #3139

What's Changed

Full Changelog: 8.5.0...8.6.0

8.5.0

15 Feb 00:21
414bf24
Compare
Choose a tag to compare

8.5.0

Reverting previous breaking change

  • The Configuration Manager has been reverted to version 8.3.1. The changes made in 8.4.0 assume the configuration manager is used as a singleton, which is similar to marking the type as disposable. We have since learned that adding IDisposable is a breaking change, so we are following semver guidance and reverting and releasing a minor version (8.5.0).
  • Cherry-picked Changes: Included changes from PR #3022 and #3104.

What's Changed

Full Changelog: 8.4.0...8.5.0

8.4.0

07 Feb 03:24
afc5e86
Compare
Choose a tag to compare

8.4.0

New Features

  • App context switch allows blocking or non-blocking calls for configuration. See PR #3106 for details and issue #3082 for details. If you are not using the ConfigurationManager as a singleton and not using the blocking option, you may need to call ShutdownBackgroundTask() to stop the background task to avoid leaking Tasks.
  • IdentityModel now enables symmetric and asymmetric keys to be created publicly with JWK. See #3094 for details.
  • IdentityModel now allows specifying the HTTP protocol version and version policy. See #2808 for details.

Repair items

  • Add request count and duration telemetry for configuration requests. See #3022 for details.
  • KeyID should be present in exception messages and is no longer PII. See #3104 for details.

Fundamentals

  • Fix spelling issues in xml comments. See #3117 for details.
  • Fix comment coverage in PR builds. See #3079 for details.

Work related to redesign of IdentityModel's token validation logic #2711

8.3.1

17 Jan 21:39
6785828
Compare
Choose a tag to compare

8.3.1

Bug Fixes

  • Respect TVP.RequireAudience when set to false. See #3055
  • For net4.6.2 select RSACng for PSS support. See #3097
  • Fix package downgrade in consuming libraries. See#3062
  • Fix integer overflow in AuthenticationEncryptionProvider.cs. See #3063

Fundamentals

  • Removed unused property on JsonWebToken ClaimsIdentity. See #3071 for details.
  • Upgrade to C# 13. See #2998
  • Use new Base64Url API. See #22817
  • Add warning quality check. See #3067
  • Update dotnet actions. see #3074
  • Fix warnings. See #3081
  • Test updates in JsonWebToken. See #3080.

Work related to redesign of IdentityModel's token validation logic #2711

What's Changed

New Contributors

Full Changelog: 8.3.0...8.3.1

8.3.0

04 Dec 20:58
1293a5d
Compare
Choose a tag to compare

New features

Work related to redesign of IdentityModel's token validation logic #2711

  • SAML and SAML2 new model validation: Token Replay. See #2994
  • Extensibility tests: Token Type - JWT (#3030), Issuer - SAML and SAML2 (#3026), Algorithm and Signature - JWT, SAML and SAML2 (#3034), Token Replay - JWT, SAML and SAML2 (#3032), Issuer signing key - JWT, SAML and SAML2 (#3029)
  • Avoid code duplication in extensibility testing. See #3041
  • Extensibility Testing: Refactor. See #3011
  • Remove duplicate code in extensibility tests. See #3044

Bug fixes

  • Fix bug with AadIssuerValidator. See #3042
  • Fixed SignedHttpRequest flaky test. See #3037

Fundamentals

  • Install all .NET versions in pipeline to fix run tests task. See #3018
  • Changelog for 8.2.1. See #3009
  • Remove unnecessary AoT test project. See in #3045
  • Fix powershell script for nuget update. See #3046
  • Update to next version. See #3010
  • Disable Coverage PR comments. See #3048
  • Updates GitHub Action to support long paths, See #3049
  • Stack parameters to improve reading of code. See #3031

New Contributors

Full Changelog: 8.2.1...8.3.0

8.2.1

15 Nov 19:36
6dc806c
Compare
Choose a tag to compare

8.2.1

New features

  • Update to use .NET 9 GA. See 2990.

Bug fixes

  • Remove dependency on Microsoft.Bcl.TimeProvider for .NET 8+ targets. See 2935.
  • Update cgmanifest to align with the JSON schema. See 2969.

Fundamentals

  • Streamline token creation in SecurityTokenDescriptor. See 2993.
  • Prevent inlining to guarantee stack frames in test. See 2999.

Work related to redesign of IdentityModel's token validation logic #2711

  • Simplify stack frame caching. See 2976.
  • Implement reading SAML and SAML2 tokens. See 2980.
  • Implement validating SAML signature. See 2950.
  • Add tests for IssuerExtensibility. See 2987.
  • Add validation for SAML and SAML2 issuer signing key. See 2965.
  • Add validation for SAML and SAML2 algorithm. See 2984.

What's Changed

  • Microsoft.Rest.ClientRuntime has been deprecated, which results in so… by @brentschmaltz in #2970
  • Update to next version after 8.2.0 release by @jennyf19 in #2975
  • Consolidating test statics by @trwalke in #2956
  • New token validation model: Simplify stack frame caching by @iNinja in #2976
  • Remove dependency on Microsoft.Bcl.TimeProvider for .NET 8+ targets by @filipnavara in #2935
  • Update cgmanifest to align with the JSON schema by @jeffhandley in #2969
  • SAML and SAML2 new model validation: Read Token by @iNinja in #2980
  • SAML2 new model validation: Signature by @iNinja in #2961
  • JsonWebTokenHandler IssuerExtensibility by @brentschmaltz in #2987
  • SAML and SAML2 new model validation: Issuer Signing Key by @iNinja in #2965
  • Ignore AotCompatibilityTests on ADO by @jmprieur in #2992
  • SAML and SAML2 new model validation: Algorithm by @iNinja in #2984
  • Use SecurityTokenDescriptor when creating tokens by @msbw2 in #2991
  • Prevent inlining to guarantee stack frames in test by @westin-m in #3002
  • Update to .NET 9 GA. Update some test dependencies. by @pmaytak in #2990
  • Add Abstractions.Tests to strong name bypass file. by @pmaytak in #3004

New Contributors

Full Changelog: 8.2.0...8.2.1