This is a major release which brings a variety of changes including support for .NET 10.
There are no changes from the Release Candidate.
Breaking Changes
- Remove Base64Url, using SDK/Runtime provided type instead. by @damianh in #249
- Removed Obsolete DateTimeExtensions by @bhazen in #255
- Make DynamicClientRegistrationDocument.Extensions Non Nullable by @bhazen in #258
Enhancements
- Add
IDisposabletoProtocolResponseby @stefannikolei in #192 - .NET 10 RC1 support by @damianh in #211
- Add Additional Metadata Document Fields by @bhazen in #236
- Remove unused package references by @damianh in #242
- Add support for JSON claim value type originally by @taufikdev88 in #62, merged in #248
- Support POST for GetUserInfo by @bhazen in #256
- Allow Using HttpClient BaseAddress for Authority in DiscoveryCache by @bhazen in #257
- .NET 10 RC2 by @damianh in #277
- Update to .NET 10 GA Release by @bhazen in #294
Bug Fixes
- Fix broken documentation link by @StuFrankish in #213
- Fix some formatting that is causing .NET 10 PR to fail by @damianh in #238
Upgrading
Replacing Use of Base64Url
Code which was previously using the public static Base64Url class from this library, should be updated to use the Base64Url class found in the System.Buffers.Text namespace.
Uses of the Encode method should be replaced with the EncodeToString method and uses of the Decode method should be replaced with the DecodeFromChars method.
For example, code which previously looked like this:
var jsonString = Base64Url.Decode(payload);
should be updated to this:
using System.Buffers.Text;
var jsonString = Base64Url.DecodeFromChars(payload);
Replacing Use of DateTimeExtensions
Code which was previously using the public static DateTimeExtensions class from this library, should be updated to use DateTimeOffset.ToUnixTimeSeconds() instead.
For example. code which previously looked like this:
DateTime.UtcNow.ToEpochTime()
should be updated to this:
DateTimeOffset.UtcNow.ToUnixTimeSeconds()
Handling DynamicClientRegistrationDocument.Extensions Now Being Non-Nullable
Any code which was explicitly setting the Extensions property of the DynamicClientRegistrationDocument.Extensions to null, should be updated to instead set it to an empty dictionary.
Contributors
Thanks to the Duende.IdentityModel community for your involvement with issues and pull requests!