Cms.LightSdk 10.8.0
Pure read-only HTTP client for the Sapico CMS Content Targeting engine. No ASP.NET dependency.
Showing the top 20 packages that depend on Cms.LightSdk.
| Packages | Downloads |
|---|---|
|
Cms.LightSdk.Sapico.AspNet
ASP.NET integration for Sapico CMS: auto-injects EvaluationContext, anonymous visitor cookie, background refresh, and per-entity cache DSL.
|
43 |
|
Cms.LightSdk.Sapico.AspNet
ASP.NET integration for Sapico CMS: auto-injects EvaluationContext, anonymous visitor cookie, background refresh, and per-entity cache DSL.
|
35 |
|
Cms.LightSdk.Sapico.AspNet
ASP.NET integration for Sapico CMS: auto-injects EvaluationContext, anonymous visitor cookie, background refresh, and per-entity cache DSL.
|
24 |
|
Cms.LightSdk.Sapico.AspNet
ASP.NET integration for Sapico CMS: auto-injects EvaluationContext, anonymous visitor cookie, background refresh, and per-entity cache DSL.
|
9 |
|
Cms.LightSdk.Sapico.AspNet
ASP.NET integration for Sapico CMS: auto-injects EvaluationContext, anonymous visitor cookie, background refresh, and per-entity cache DSL.
|
7 |
|
Cms.LightSdk.Sapico.AspNet
ASP.NET integration for Sapico CMS: auto-injects EvaluationContext, anonymous visitor cookie, background refresh, and per-entity cache DSL.
|
5 |
|
Cms.LightSdk.Sapico.AspNet
ASP.NET integration for Sapico CMS: auto-injects EvaluationContext, anonymous visitor cookie, background refresh, and per-entity cache DSL.
|
4 |
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[Unreleased]
[10.8.0] — 2026-06-24
Added
AsCatalog()— deserializes the "catalog" archetype intoCatalogInfoAsSchedule()— deserializes all "schedule" archetypes intoList<ScheduleInfo>AsGallery()— deserializes the "gallery" archetype intoGalleryInfoAsStringList(name?)— deserializes a "stringlist" archetype intoStringListInfo- New SDK models:
CatalogInfo,ScheduleInfo,GalleryInfo,GalleryImage,StringListInfo
Removed (BREAKING)
FromPoco<T>()— useAsCustomData<T>()FromCustomList<T>()— useAsCustomList<T>()GetAvailableCalendarSlots()— useAsAvailableSlots()GetLocalizedFields()— useAsLocalized()Get<T>(typeDiscriminator)— use the typedAs*()methods (e.g.AsCatalog(),AsGallery())GetAll<T>(typeDiscriminator)— useAsSchedule()orAsCustomList<T>()
Changed
- Simplified
AsAvailableSlots()internals — same behavior, less code
Migration from 10.7.0
- resource.FromPoco<MyType>()
+ resource.AsCustomData<MyType>()
- resource.FromCustomList<MyRow>()
+ resource.AsCustomList<MyRow>()
- resource.GetAvailableCalendarSlots()
+ resource.AsAvailableSlots()
- resource.GetLocalizedFields("en")
+ resource.AsLocalized("en")
- resource.Get<CatalogInfo>("catalog")
+ resource.AsCatalog()
[10.7.0] — 2026-06-23
Added
AsCatalog()— deserializes the "catalog" archetype into a typedCatalogInfoAsSchedule()— deserializes all "schedule" archetypes into a list ofScheduleInfoentriesAsGallery()— deserializes the "gallery" archetype into a typedGalleryInfowith imagesAsStringList(name?)— deserializes a "stringlist" archetype by name intoStringListInfoAsCustomData<T>()— renamed fromFromPoco<T>(), deserializes "custom" archetype fields into a typed objectAsCustomList<T>()— renamed fromFromCustomList<T>(), deserializes "customlist" archetype rows into a typed arrayAsLocalized(locale)— gets localized fields for a specific language from CmsResource or PublishedResourceAsAvailableSlots()— renamed fromGetAvailableCalendarSlots(), returns available calendar time slots
Changed
- BREAKING: Consolidated
Cms.LightSdk.Extensions.CmsResourceExtensionsintoCms.LightSdk.CmsResourceExtensions— updateusingdirectives fromusing Cms.LightSdk.Extensions;tousing Cms.LightSdk;
Deprecated
FromPoco<T>()— useAsCustomData<T>()insteadFromCustomList<T>()— useAsCustomList<T>()insteadGetAvailableCalendarSlots()— useAsAvailableSlots()insteadGetLocalizedFields()— useAsLocalized()instead
Added
DiskCachePathoption onCmsClientOptions— path to SQLite.dbfile for FusionCache L2 disk cache
Changed
CmsClientis now a pure stateless HTTP client — removed internalConcurrentDictionarycache. All caching is handled byCachedCmsClient(FusionCache L1+L2) or by the consumer. (!42, #53)FileCachePathis now obsolete — useDiskCachePathinstead (backward-compatible property shim)CloneWithArchetypeschanged fromprivatetointernalfor reuse byCachedCmsClient
Fixed
- n/a
Removed
- Internal
ConcurrentDictionary<string, CacheEntry>cache andCacheEntryrecord — eliminated double-caching when used withCachedCmsClient(!42, #53) LoadFromFileCache()andSaveToFileCache()methods — disk caching is now handled by FusionCache's L2 SQLite layer (!42, #53)
[10.3.1] — 2026-04-14
Added
CmsResourceExtensions.FromPoco<T>()— deserializes acustomarchetype's fields into a typed object, unwrapping{ value, label }envelopes
Fixed
FromPoco<T>()now reads from the correct"fields"property key (was"data") to match the read-only API'sProjectFreeFormoutput shape
[10.3.0] — 2026-04-14
Added
CmsResourceExtensions.FromCustomList<T>()(Cms.LightSdk.Extensions) — deserializes acustomlistarchetype's rows directly into a typed array, unwrapping the{ value, label }envelope produced by the read-only APIWrappedValueConverterFactory(Cms.LightSdk.Serializers) —JsonConverterFactorythat transparently unwraps{ "value": ... }shaped JSON properties into plain CLR values during deserialization
[10.2.0] — 2026-04-14
Changed
GetResourceAsyncnow fetches from the read-only endpoint (/read-only/{tenant}/{site}/{slug}) instead of the internal paginated list endpoint, returning full projected archetype data
Fixed
CmsArchetype.Typenow correctly deserializes from the read-only API's"type"JSON property (removed[JsonPropertyName("$type")])CloneWithArchetypesnow copiesSiteSlugto the returned resource; previouslyGetResolvedResourceAsyncandGetBestMatchAsyncalways returned an emptySiteSlug
[10.1.0] — 2026-07-16
Changed
GetResourceAsyncupdated to use tenant-scoped route (/api/tenants/{tenantSlug}/resources)
[10.0.0] — 2025-07-14
Changed
- Version scheme now follows ASP.NET major version for consistency (10.0.x = .NET 10)
.NET 10.0
- Microsoft.Extensions.Http (>= 10.0.6)