Release v1.1.1
Cirreum.Contracts 1.1.1
Summary
The caching configuration surface goes code-first: a provider is chosen by the
registration call, not an appsettings switch. This removes the CacheProvider enum and
CacheSettings.Provider, renames two cache types, and moves the app-author configuration
types into a dedicated Cirreum.Caching.Configuration namespace.
These are breaking changes. They ship as a pre-adoption patch (1.1.0 → 1.1.1,
via -AllowBreakingPatch) because there are essentially no consumers of the caching
surface yet — this is the first step of finalizing the caching foundation bottom-up.
Why
The old Cirreum:Cache:Provider appsettings knob was redundant: it could never select a
provider whose package wasn't referenced, so the real selection has always been which
Add…CacheService you call. Making the registration call the single source of truth
removes a config option that could only ever be wrong or no-op, and separates
app-author configuration types from the runtime caching surface.
What changed
Removed
CacheProviderenum andCacheSettings.Provider. Provider selection is now the
registration call:AddCirreumCachingfor the base / no-op, then
AddInMemoryCacheService/AddHybridCacheService/AddDistributedCacheServiceto opt
into a provider.CacheSettingskeepsDefaultExpirationand TTL tuning.
Changed — find / replace
| 1.1.0 | 1.1.1 | Notes |
|---|---|---|
QueryCacheOverride |
CacheExpirationOverride |
It is the general cache-expiration override (global default + per-consumer maps), not query-specific |
CacheExpirationSettings |
CacheExpirationPolicy |
The immutable per-operation expiration spec passed to ICacheService at runtime — not configuration; also avoids the clash with ICacheableOperation.CacheExpiration |
namespace Cirreum.Caching (for CacheSettings, CacheExpirationOverride) |
namespace Cirreum.Caching.Configuration |
Separates app-author configuration types from the runtime caching surface (matches the Cirreum.Conductor.Configuration convention) |
ICacheServicedocumentation reworded to reflect code-first provider selection.
Migration
- Delete any
Cirreum:Cache:Providerappsettings entry — it no longer binds. - Select the provider in code:
AddCirreumCaching()then the matching
Add…CacheService()(fromCirreum.Cache.InMemory/.Hybrid/.Distributed). - Apply the find/replace table above.
- Add
using Cirreum.Caching.Configuration;where you configureCacheSettings/
CacheExpirationOverride.
Compatibility
- Breaking, shipped as a patch (
-AllowBreakingPatch) — justified by essentially
zero consumers of the caching surface pre-adoption. - Dependencies unchanged:
Cirreum.Kernel 1.0.1,Cirreum.Result 2.0.0. - Runtime caching types stay in
Cirreum.Caching; only the app-author configuration
types moved toCirreum.Caching.Configuration.