Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
be9ccd8
Add cache key versioning and environment prefix
neoscie Jan 27, 2026
7ecc365
Enhances cache key generation and validation
neoscie Jan 27, 2026
da44c5a
Refactor distributed cache options
neoscie Jan 27, 2026
a4ca780
Rename MessagePack cache to Serialized cache
neoscie Jan 27, 2026
85372f7
Revise README with documentation updates
neoscie Jan 27, 2026
1082b30
Add v3 changelog and migration guide
neoscie Jan 27, 2026
188dcce
CA fixes
neoscie Jan 27, 2026
a47c957
Updates .NET to version 8.x
neoscie Jan 27, 2026
94eb572
Updates target framework to .NET 8
neoscie Jan 27, 2026
b5ce60e
Updates .NET SDK to version 8.x
neoscie Jan 27, 2026
2e0e11a
Enhance Redis hybrid cache configuration
neoscie Jan 28, 2026
34292ec
Configures GitVersion for vNext branch
neoscie Jan 28, 2026
1b0798c
Rename `Version` to `SchemaVersion`
neoscie Jan 29, 2026
3b17dbf
Upgrades dependencies and modernizes async test patterns
neoscie Feb 25, 2026
c8484f6
Upgrades CodeAnalysis package to v3.2.2
neoscie Feb 25, 2026
280a3dd
Upgrades Microsoft.Extensions packages to .NET 8
neoscie Feb 25, 2026
a58e7ba
Makes cache Get methods return nullable types
neoscie Feb 25, 2026
c1eb74a
Merge remote-tracking branch 'origin/main' into vNext
neoscie May 28, 2026
d3da3ab
Enter prerelease mode (beta) for 3.0.0
neoscie May 28, 2026
ea0b59d
Adds v3.0 changeset with breaking changes and migration guidance
neoscie May 28, 2026
5efb9d4
Targets net8.0 and net10.0 to clear MessagePack advisories
neoscie Aug 4, 2026
de1afdf
Merge branch 'main' into vNext
neoscie Aug 4, 2026
7dfc76a
Cleans up release documentation and aligns tests with current runtime…
neoscie Aug 4, 2026
88a0418
Merge remote-tracking branch 'origin/vNext' into vNext
neoscie Aug 4, 2026
cc945e6
Fixes README prerequisites and makes the schema version test meaningful
neoscie Aug 4, 2026
755ebee
Consolidates the v3 changeset and documents dependency and prerelease…
neoscie Aug 4, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 28 additions & 0 deletions .changeset/hot-coins-build.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
---
"@neolution-ch/neolution.extensions.caching.abstractions": major
"@neolution-ch/neolution.extensions.caching.distributed": major
"@neolution-ch/neolution.extensions.caching.redishybrid": major
"@neolution-ch/neolution.extensions.caching.inmemory": major
---

Major version bump multi-targeting .NET 8 and .NET 10, with several breaking changes and new configuration options for distributed caches.

**Breaking changes:**
- **.NET Standard 2.0 support dropped.** Packages now target `net8.0` and `net10.0`; projects on .NET Framework, .NET Standard 2.0 or .NET 6.0/7.0 must stay on v2.x
- `MessagePack` moves from 2.5.x to 3.1.7 (via `Foundatio` 13.0.2). If you reference `MessagePack` directly, NuGet unifies it to 3.x for your project too
- Options classes now inherit from a shared `DistributedCacheOptionsBase` instead of implementing `IOptions<T>`
- `AddMessagePackDistributedCache()` renamed to `AddSerializedDistributedCache()` (old method kept as `[Obsolete]`)
- Registration now throws immediately if no `IDistributedCache` provider is registered first
- Redis hybrid cache registration now takes a `RedisHybridCacheOptions` parameter instead of inline setup
- All extension methods now return `IServiceCollection` for fluent chaining

**New features:**
- `SchemaVersion` and `EnvironmentPrefix` options for cache invalidation and multi-environment isolation
- `[CacheKey]` attribute on enum members for refactor-safe distributed cache keys
- Configurable key encoding and key length validation (both enabled by default for distributed caches)
- Redis hybrid cache now exposes `RedisHybridCacheOptions` with compression control and shared multiplexer support

**Security:**
- `Foundatio` 13.0.2 brings `MessagePack` 3.1.7, fixing GHSA-hv8m-jj95-wg3x, GHSA-vh6j-jc39-fggf and GHSA-382j-8mxh-c7x2 (High) plus nine lower-severity advisories that affected the 3.1.4 pinned by `Foundatio` 12.x

See `docs/MIGRATION_GUIDE_V3.md` for the full migration walkthrough. Existing v2.x cache entries remain readable with default settings.
11 changes: 11 additions & 0 deletions .changeset/pre.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{
"mode": "pre",
"tag": "beta",
"initialVersions": {
"@neolution-ch/neolution.extensions.caching.abstractions": "2.1.2",
"@neolution-ch/neolution.extensions.caching.distributed": "2.1.2",
"@neolution-ch/neolution.extensions.caching.inmemory": "2.1.2",
"@neolution-ch/neolution.extensions.caching.redishybrid": "2.1.2"
},
"changesets": []
}
4 changes: 4 additions & 0 deletions .changeset/shy-tools-see.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
---
---

Docs: correct the SDK prerequisites in README for the net8.0/net10.0 multi-target.
8 changes: 5 additions & 3 deletions .github/workflows/dotnet.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ on:

env:
BUILD_CONFIGURATION: "Release"
DOTNET_VERSION: "6.x"

jobs:
build:
Expand All @@ -20,9 +19,12 @@ jobs:
- uses: actions/checkout@v3

- name: Setup .NET
uses: actions/setup-dotnet@v2
uses: actions/setup-dotnet@v4
with:
dotnet-version: ${{ env.DOTNET_VERSION }}
# 10.x builds both target frameworks; 8.x supplies the runtime the net8.0 test leg needs.
dotnet-version: |
8.x
10.x

- name: Restore dependencies
run: dotnet restore
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/nuget-publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ jobs:
- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: "8.x"
dotnet-version: "10.x"

- name: Map tag to project
id: map
Expand Down
Loading
Loading