Skip to content

Releases: FoundatioFx/Foundatio

v13.0.0-beta3

14 Feb 16:16
20838a0

Choose a tag to compare

What's Changed

  • Fix InMemoryQueue retry: create fresh entry per attempt (entry isolation) by @niemyjski in #454

Full Changelog: v13.0.0-beta2...v13.0.0-beta3

v13.0.0-beta2

14 Feb 02:59

Choose a tag to compare

What's Changed

  • [Breaking]: Normalize ISerializer argument validation and enhance test coverage by @niemyjski in #440
  • Improve delayed message delivery and add MessageBusException for consistent error handling by @niemyjski in #443
  • Add DeepClone benchmarks, upgrade DeepCloner to v0.10.4, and add sync resilience methods by @niemyjski in #445
  • Add QueueDeleted event to IQueue for queue deletion notifications by @niemyjski in #447
  • Add QueueException and guard against reusing behavior instances by @niemyjski in #448
  • Add OpenTelemetry error recording with Activity.AddException polyfill by @niemyjski in #446

Full Changelog: v13.0.0-beta1...v13.0.0-beta2

v13.0.0-beta1

12 Jan 20:02

Choose a tag to compare

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

v12.0.0

20 Aug 19:24

Choose a tag to compare

What's Changed

  • Storage Exception + FileSpec Data Prop by @niemyjski in #385
  • #382 tweak dependencies based on new tfm by @thompson-tomo in #383
  • Add extensible resilience policies by @ejsmith in #388
  • Adding Foundatio builders for configuring in IServiceCollection. Various other improvements. by @ejsmith in #393
  • BREAKING: Improved Cache Tests and normalized ICacheClient.RemoveByPrefix by @niemyjski in #395
  • Don't throw immediately if passed in cancellation token is cancelled. by @ejsmith in #397
  • Add IHybridAwareCacheClient and Implement Local Cache lookups to HybridCacheClient for GetAllAsync, ExistsAsync, and GetExpirationAsync. by @niemyjski in #401
  • Adds queue dequeue activity tracking by @niemyjski in #402

New Contributors

Full Changelog: v11.1.0...v12.0.0

v11.1.0

09 May 18:28
349f3f6

Choose a tag to compare

What's Changed

  • [BREAKING]: Cache Client lists no longer have a sliding expiration and each cache item expires independently by @niemyjski in #376
  • Tests for RemoveAllAsync + some tweaks to cache maintenance. by @niemyjski in #377
  • Bump MessagePack from 3.1.2 to 3.1.3 by @dependabot in #362
  • Bump OpenTelemetry.Instrumentation.Http from 1.11.1 to 1.12.0 by @dependabot in #378
  • Bump xunit.runner.visualstudio from 3.0.2 to 3.1.0 by @dependabot in #379
  • Bump OpenTelemetry.Instrumentation.AspNetCore from 1.11.1 to 1.12.0 by @dependabot in #380
  • Bump OpenTelemetry.Instrumentation.Runtime from 1.11.1 to 1.12.0 by @dependabot in #381

Full Changelog: v11.0.8...v11.1.0

v11.0.8

31 Jan 18:36

Choose a tag to compare

Full Changelog: v11.0.7...v11.0.8

v11.0.7

31 Jan 18:36

Choose a tag to compare

What's Changed

  • Bump OpenTelemetry.Instrumentation.Http from 1.9.0 to 1.10.0 by @dependabot in #344

Full Changelog: v11.0.6...v11.0.7

v11.0.6

26 Nov 16:26

Choose a tag to compare

What's Changed

  • Added Async Disposable Action by @niemyjski in #315
  • Bump Microsoft.Extensions.TimeProvider.Testing and Microsoft.Bcl.TimeProvider by @dependabot in #318
  • Bump Serilog.AspNetCore, Serilog.Settings.Configuration and System.Text.Json by @dependabot in #321
  • Bump Microsoft.Extensions.Configuration.Json and System.Text.Json by @dependabot in #320
  • Bump Microsoft.AspNetCore.TestHost from 8.0.8 to 8.0.10 by @dependabot in #319
  • Bump System.Text.Json from 8.0.4 to 8.0.5 in /src/Foundatio by @dependabot in #323
  • Bump xunit from 2.7 to 2.9.2 by @dependabot in #324

New Contributors

Full Changelog: v11.0.5...v11.0.6

v11.0.5

27 Sep 21:24
37599b9

Choose a tag to compare

What's Changed

  • Added test to show off issue with DeleteByPrefix not respecting cache… by @niemyjski in #314

Full Changelog: v11.0.4...v11.0.5

v11.0.4

27 Sep 16:59
a3a9f59

Choose a tag to compare

What's Changed

  • Storage bug fixes with DeleteFilesAsync by @niemyjski in #312
  • Add ability to set a metrics prefix by @niemyjski in #313
  • Fixed a bug where queue job's would report cancelled log messages if nothing was processed. by @niemyjski in f161567
  • Fixed a bug where folder file storage wasn't returning deleted counts. by @niemyjski in 8a7d6a4
  • Fixed a bug where the in memory file storage couldn't delete files with a wildcard ending (no extension) by @niemyjski in 18652f9

Full Changelog: v11.0.3...v11.0.4