v3.0.0 🎉
This is the largest overhaul of this project's internals since creation and includes some learnings from my other project Fga.Net. Cumulative changes should result in better overall performance and reduced allocations.
Breaking Changes
- Changed namespace of DI extensions to match package (previously nested within the Microsoft namespace)
The scope of the below breaks are minimal and should not impact the vast majority of existing usages.
- Replaced the internal caching package
LazyCache
with FusionCache. - Removed
TokenExpiryBuffer
from configuration options, cache internals now uses a mix of background refresh and percentage-based buffering to make this redundant. Token refresh blocking should no longer occur in high-throughput systems. - Renamed Management token's
AudienceDomainOverride
toAudience
. - Updated Auth0 clients to
7.20.0
New Features
- Clients are now registered as singletons instead of being scoped and thus can be used within singleton services without issue. (Closes #14)
IAuthTokenCache
now has cancellation token support. (Closes #16)IAuthTokenCache
function calls returnValueTask
instead ofTask
.
Misc
- Modernized codebase with log generators, file-scoped namespaces, implicit usings & type sealing.
- Modernized all sample projects.
- Automated all build and publish infrastructure with
Nuke.Build
- Embedded debug symbols and enabled deterministic builds.
Full Changelog: v2.0.0...v3.0.0