Repository navigation
Releases
v13.0.5
Foundatio.Redis v13.0.5
Aligned with Foundatio v13.0.5.
Highlights
- Redis queue round-trips
GroupId— group ids set on enqueue are preserved on the dequeued entry (#190) - Updated the Valkey test image 9.1.1 -> 9.1.2 (#189)
Dependency Updates
Foundatio13.0.4 -> 13.0.5StackExchange.Redis3.1.31 -> 3.4.5Microsoft.Extensions.Logging.Console10.0.11 -> 10.0.13- Test packages upgraded to xUnit v4 4.0.2 (
xunit.v3.mtp-v2),xunit.runner.visualstudio4.0.1,Microsoft.NET.Test.Sdk18.11.0 MinVer7.0.0 -> 8.0.0; removed the explicitMicrosoft.SourceLink.GitHubpackage reference
Full Changelog: v13.0.4...v13.0.5
v13.0.4
Foundatio.Redis v13.0.4
Maintenance release building on v13.0.2, aligned with Foundatio v13.0.4.
Highlights
- StackExchange.Redis 3.x — upgraded to 3.1.31 (new RESPite-based IO core, native CAS, Valkey validation; default protocol moves to RESP3 while RESP2 remains supported) (#182)
- Redis 6.0.x compatibility — version-gate
LMOVEso dequeue scripts work on Azure Cache for Redis and other Redis 6.0.x deployments (#176)
Dependency Updates
Foundatio13.0.2 → 13.0.4StackExchange.Redis2.13.17 → 3.1.31- Test packages upgraded to xUnit v4 (
xunit.v3.mtp-v2/xunit.runner.visualstudio4.0.0),Microsoft.NET.Test.Sdk18.9.0
Full Changelog: v13.0.2...v13.0.4
v13.0.2
What's Changed
- Replace deprecated RPOPLPUSH with LMOVE and add SE.Redis compatibility notes by @niemyjski in #164
- fix: correct RedisQueue disposal ordering to prevent ObjectDisposedException during shutdown by @niemyjski in #166
- refactor: extract RedisCapabilities helper and fix memory ordering issues by @niemyjski in #169
Full Changelog: v13.0.1...v13.0.2
v13.0.1
v13.0.0
v13.0.0
This release brings Redis Cluster sharded pub/sub, replica read routing, Valkey compatibility testing, and all the reliability improvements from Foundatio v13.0.0.
Documentation: foundatio.dev -- see the Caching, Messaging, and Queues guides for Redis-specific configuration and examples.
Themes:
- Redis Cluster Support: Sharded pub/sub eliminates duplicate message delivery in cluster topologies
- Read Scaling: New
ReadModeoption routes reads to replicas for improved throughput - Valkey Compatibility: Test suite now validates against both Redis and Valkey
- Foundatio v13 Core: NRT audit, two-phase dispose, .NET 10 target, xUnit v3
Breaking Changes
- Consistent cache expiration return values:
GetExpirationAsyncnow returns normalized values across all implementations. by @niemyjski in #128 - Updated to Foundatio 13.0.0 core -- see migration guide
- NRT annotations updated -- nullable return types and parameters may have changed
- Removed obsolete single-parameter
GetFileStreamAsyncoverload (c03b5d11)
Added
- Sharded pub/sub for Redis Cluster: Fixes duplicate message delivery when running in cluster mode. by @niemyjski in #141
ReadModeoption for replica read routing: Configure replica read routing across all Redis providers. by @niemyjski in #154- RESP3 dual-protocol testing: Test coverage for both RESP2 and RESP3 protocols. by @niemyjski in #153
GetAllExpirationsAsync/SetAllExpirationsAsync: Bulk expiration read/write support with improved test coverage. by @niemyjski in #122- Valkey compatibility testing: CI now tests against Valkey in addition to Redis. by @niemyjski in
ce6d2653
Changed
- Two-phase dispose lifecycle for Redis MessageBus. by @niemyjski in #161
- Improved Redis cache increment and remove operations. by @niemyjski in
d5debfb6 - Improved Redis cache expiration handling. by @niemyjski in
420966e8 - Changed
_channelfrom nullable lazy-init to readonly constructor-initialized field with argument validation. by @niemyjski ined91aad7 - Normalized dead letter logging and added poisoned message tests. by @niemyjski in
8c2c07fb - Fixed potential deadlocks during shutdown. by @niemyjski in
fc93c2ad - Enhanced RedisMessageBus error handling. by @niemyjski in
23c97ea1 - Added healthchecks to Docker Compose services. by @niemyjski in
c788eda6 - Target framework updated to .NET 10. by @niemyjski in
a8bc1e5c - Upgraded to xUnit v3
Fixed
- Leaking queue instances: Fixed in
CanHaveDifferentMessageTypeInQueuetest. by @niemyjski in #149 - Flaky tests: Fixed intermittent test failures. by @niemyjski in #129
- NRT errors fixed and
TreatWarningsAsErrorsenabled. by @niemyjski in #159
Dependencies
| Package | From | To |
|---|---|---|
| Foundatio | 12.0.0 | 13.0.0 |
| StackExchange.Redis | 2.9.11 | 2.12.14 |
| BenchmarkDotNet | 0.15.2 | 0.15.8 |
| Exceptionless.RandomData | 1.2.2 | 2.0.1 |
Contributors
Full Changelog: v12.0.0...v13.0.0
v13.0.0-beta6
What's Changed
- Bump StackExchange.Redis from 2.11.0 to 2.11.3 by @dependabot[bot] in #144
- Fix leaking queue instances in CanHaveDifferentMessageTypeInQueueWith… by @niemyjski in #149
- Bump StackExchange.Redis from 2.11.8 to 2.12.1 by @dependabot[bot] in #152
- Add RESP3 dual-protocol testing alongside RESP2 by @niemyjski in #153
- Add ReadMode option for replica read routing across all Redis providers by @niemyjski in #154
- Bump StackExchange.Redis from 2.12.4 to 2.12.8 by @dependabot[bot] in #156
- Bump StackExchange.Redis from 2.12.8 to 2.12.14 by @dependabot[bot] in #158
- Fix NRT errors and enable TreatWarningsAsErrors by @niemyjski in #159
- fix: adapt Redis MessageBus to two-phase dispose lifecycle by @niemyjski in #161
Full Changelog: v13.0.0-beta3...v13.0.0-beta6
v13.0.0-beta3
What's Changed
- Bump StackExchange.Redis from 2.10.1 to 2.10.14 by @dependabot[bot] in #140
- Use sharded pub/sub for Redis Cluster to fix duplicate message delivery by @niemyjski in #141
Full Changelog: v13.0.0-beta1...v13.0.0-beta3
v13.0.0-beta1
Please read https://github.com/FoundatioFx/Foundatio/releases/tag/v13.0.0-beta1 for a full list of breaking changes.
What's Changed
- Bump StackExchange.Redis from 2.9.11 to 2.9.17 by @dependabot[bot] in #110
- Bump BenchmarkDotNet from 0.15.2 to 0.15.3 by @dependabot[bot] in #111
- Bump BenchmarkDotNet from 0.15.3 to 0.15.4 by @dependabot[bot] in #113
- Bump StackExchange.Redis from 2.9.25 to 2.9.32 by @dependabot[bot] in #115
- Bump BenchmarkDotNet from 0.15.4 to 0.15.6 by @dependabot[bot] in #118
- [Cache]: Added GetAllExpirationsAsync and SetAllExpirationsAsync. Also refactored tests and improved test coverage. by @niemyjski in #122
- [Breaking] CacheClient ensure consistent return values for expires in. by @niemyjski in #128
- Fix flakey Tests by @niemyjski in #129
Full Changelog: v12.0.0...v13.0.0-beta1
v12.0.0
What's Changed
- Breaking changes for RemoveByPrefix now acts like a prefix
- Better Cluster support
- Add redis database selection by @TeddyAlbina in #101
- Bump BenchmarkDotNet from 0.14.0 to 0.15.2 by @dependabot[bot] in #104
- Improves Redis operations resilience by @niemyjski in #108
New Contributors
- @TeddyAlbina made their first contribution in #101
Full Changelog: v11.1.0...v12.0.0
v11.1.0
What's Changed
- Bump StackExchange.Redis from 2.8.24 to 2.8.31 by @dependabot in #96
- Bump Microsoft.NET.Test.Sdk from 17.12.0 to 17.13.0 by @dependabot in #94
- Bump xunit.runner.visualstudio from 3.0.1 to 3.0.2 by @dependabot in #93
- Batch delete keys by @niemyjski in #98
- PERF: RemoveAll Tests and ensure we return a deterministic remove all count + batching by @niemyjski in #99
- [BREAKING]: Cache Client lists no longer have a sliding expiration and each cache item expires independently by @niemyjski in #97
Full Changelog: v11.0.8...v11.1.0