> ## Documentation Index
> Fetch the complete documentation index at: https://docs.stigg.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Cache Core

`@stigg/cache-core` provides the shared cache entities, entitlement mapping, and in-memory cache service used across Stigg's SDKs (`@stigg/node-server-sdk`, `@stigg/js-client-sdk`, sidecar) and `persistent-cache-service`. It has no store implementation of its own — see [Cache Redis Store](/api-and-sdks/changelog/backend-graphql/cache-redis-store) for the Redis-backed store.

<Update label="1.28.1" description="2026-09-28">
  * Fixed: `CreditAccessPropagator` no longer marks a credit-backed feature `InsufficientCredits` when its credit entitlement has a soft limit and the balance reaches zero.
</Update>

<Update label="1.28.0" description="2026-09-17">
  * Added: cache reads (`getEntitlements`, single-entitlement reads) now return the time the customer's entitlements were written.
  * Changed: the usage record on a cached entitlement is now optional. Readers substitute the same zero-usage placeholder when it is absent, so evaluation results are unchanged, and the persisted format is unchanged.
  * ⚠️ Changed: the usage write timestamp now lives on `UsageData`. `CacheMapperResult` is removed, `fromInput` no longer returns a second timestamp collection, and `UpdateUsageParams.usageTimestamp` is removed. Only affects code that builds directly on `cache-core`.
</Update>

<Update label="1.27.0" description="2026-09-02">
  * Changed: `cache-core` no longer depends on `@stigg/api-client-js`. The enumerations used in cached entitlements are now declared in `cache-core` itself, as string-literal unions with same-named namespaces, so values arriving from the API client are accepted unchanged and `Foo.Bar` call sites keep working. Its only dependencies are now `dayjs` and `lodash`.
</Update>

<Update label="1.26.0" description="2026-08-12">
  * Versions 1.17.0 through 1.26.0 (2026-06-23 to 2026-08-12) carried no functional change to `cache-core` itself. Each only bumped the package version to track releases of other packages in the monorepo.
</Update>

<Update label="1.16.0" description="2026-06-23">
  * Added: `hasSoftLimit` on `CalculatedEntitlement`, so any store built on `cache-core` reflects a wallet's soft-limit configuration. Requires `@stigg/node-server-sdk` v4.45.0+ on the reader side to take effect; older readers ignore the field.
</Update>

<Update label="1.13.0" description="2026-06-01">
  * Security: patched vulnerable transitive dependencies.
</Update>

<Update label="1.11.0" description="2026-03-30">
  * Changed: `InMemoryCacheService` no longer depends on `lru-cache`, and `EntitlementsMap` takes an array of entitlements instead of an iterable.
</Update>

<Update label="1.1.0" description="2026-02-25">
  * Initial release. Extracted the cache entities, entitlement mapping (`CacheMapper`, `accessDeniedReasonMapper`), and in-memory cache service, including credit entitlement support, into a standalone, shared package consumed by `persistent-cache-service`, `@stigg/node-server-sdk`, `@stigg/js-client-sdk`, and the sidecar. No behavior change from the extraction itself.
</Update>


## Related topics

- [Persistent Cache Service](/api-and-sdks/changelog/backend-graphql/persistent-cache.md)
- [Cache Redis Store](/api-and-sdks/changelog/backend-graphql/cache-redis-store.md)
- [Node.js SDK](/api-and-sdks/changelog/backend-graphql/node.md)
- [Core concepts](/documentation/getting-started/core-concepts.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.