Skip to content

v13.0.0-beta1

Choose a tag to compare

@niemyjski niemyjski released this 12 Jan 20:02
· 56 commits to main since this release

Breaking Changes

  • [Caching]: Normalized ICacheClient.IncrementAsync TTL behavior to be consistent across all implementations. #434 by @niemyjski
  • [Caching]: Removed ExpiresIn argument from ListRemoveAsync to align with all other Remove methods. #434 by @niemyjski
  • [Caching]: Ensured consistent return values for ExpiresIn across all cache operations. #432 by @niemyjski
  • [Caching]: Removed obsolete Set methods from cache extensions. by @niemyjski

Added

  • [.NET 10 Support]: Added .NET 10.0 target framework support. by @niemyjski
  • [Caching]: Added memory-limited in-memory cache with per-entry size limits and intelligent eviction. #400 by @Copilot
  • [Caching]: Added GetAllExpirationsAsync and SetAllExpirationsAsync methods to ICacheClient. #426 by @niemyjski
  • [Caching]: Added GetExpirationsAsync method to retrieve cache entry expiration information. by @niemyjski
  • [Testing]: Added Foundatio.Xunit.v3 package with support for xUnit v3. #431 by @niemyjski
  • [Caching]: Added scoped cache constructor overload for improved flexibility. by @niemyjski
  • [Caching]: Added option to dispose underlying scoped cache implementations. #412 by @niemyjski
  • [Locks]: Lock providers now receive dependencies for better integration. by @niemyjski
  • [Documentation]: Added comprehensive documentation site with source code links across all features. by @niemyjski @ejsmith

Changed

  • [Caching]: Optimized hybrid cache invalidation for improved performance. by @niemyjski
  • [Caching]: Improved hybrid cache consistency and double comparison handling. #433 by @niemyjski
  • [Caching]: Normalized increment behavior in hybrid cache. by @niemyjski
  • [Messaging]: Replaced cancellation token source in MessageBusBase for better resource management. by @niemyjski
  • [Jobs]: Improved ScheduledTimer disposal and scheduling. by @niemyjski
  • [Queues]: Uses DateTimeOffset for queue stats update for better timezone handling. by @niemyjski
  • [Testing]: Refactored hosting tests to use HostBuilder due to deprecations. by @niemyjski
  • [Testing]: Improved test coverage for caching features. #426 by @niemyjski
  • [Build]: Enhanced versioning in build workflow. by @ejsmith
  • [Build]: Fixed build workflow publishing empty.nupkg from EmptyFiles test package. #428 by @Copilot

Fixed

  • [Caching]: Guards against DateTime overflow in caching operations. by @niemyjski
  • [Caching]: Handles zero or negative expiration times correctly. by @niemyjski
  • [Cancellation]: Ensures proper disposal of cancellation token sources across all components. by @niemyjski
  • [Cancellation]: Ensures tasks are cancelled on disposal. by @niemyjski
  • [Cancellation]: Fixed dispose cancellation token usage. by @niemyjski
  • [Resilience]: Improved asynchronous timeout handling. by @niemyjski

Dependencies

  • Updated to Microsoft.AspNetCore.TestHost 8.0.20 #409
  • Updated to BenchmarkDotNet 0.15.3 #410
  • Updated to Polly 8.6.3 #406
  • Updated to Aspire.Hosting.Redis 9.4.2 #407
  • Updated Aspire packages to 9.5.0
  • Updated Microsoft package versions
  • Updated benchmark dependencies
  • Optimized some code for .NET 8

Notes

  • This is a beta release. The breaking changes in caching behavior ensure consistency across all implementations and providers.
  • .NET 10 support is experimental and subject to change as .NET 10 evolves.
  • The new memory-limited cache provides better control over memory usage in high-load scenarios.
  • Documentation has been significantly expanded with source code links and implementation details.

Full Changelog