> ## 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](https://docs.stigg.io/api-and-sdks/changelog/backend-graphql/cache-redis-store) for the Redis-backed store.

**1.31.0**

2026-10-19

* Added: governance capability ID helpers (`capabilityId`, `capabilityIdFromRef`, `parseCapabilityId` and `capabilityIdToRestFields`) and a `promiseAllRejectLate` utility. Only affects code that builds directly on `cache-core`.

**1.30.0**

2026-10-12

* Added: `DimensionValue` type (`string | number | boolean`), exported alongside `Maybe` and `OneOrMany`. Only affects code that builds directly on `cache-core`.

**1.29.0**

2026-10-11

* No functional change to `cache-core`. This release only bumped the package version to track releases of other packages in the monorepo.

**1.28.1**

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.

**1.28.0**

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`.

**1.27.0**

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`.

**1.26.0**

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.

**1.16.0**

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.

**1.13.0**

2026-06-01

* Security: patched vulnerable transitive dependencies.

**1.11.0**

2026-03-30

* Changed: `InMemoryCacheService` no longer depends on `lru-cache`, and `EntitlementsMap` takes an array of entitlements instead of an iterable.

**1.1.0**

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.


## Related topics

- [Persistent Cache Service](https://docs.stigg.io/api-and-sdks/changelog/backend-graphql/persistent-cache.md)
- [Node.js SDK](https://docs.stigg.io/api-and-sdks/changelog/backend-graphql/node.md)
- [Core concepts](https://docs.stigg.io/documentation/getting-started/core-concepts.md)
- [Persistent cache](https://docs.stigg.io/documentation/high-availability-and-scale/persistent-caching.md)


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