This is a release candidate which contains a mix of bug fixes, enhancements, a few breaking changes, and support for .NET 10.
The only change from the most recent preview release is that this release candidate targets the released version of .NET 10 rather than .NET 10 RC2.
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 IDisposable to ProtocolResponse by @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!