2026-09-02
- Fixed: an unparseable timestamp on an incoming entitlement or usage event was written to the cache as
NaNinstead ofnull. It’s now written asnull, consistent with every other unreadable-timestamp case. Valid timestamps, including epoch0, are unaffected. - Upgraded internal Stigg cache package dependencies and switched the build to esbuild bundling. No API or cache-format change; readers and writers on either version remain compatible against the same Redis.
2026-09-01
- Versions 3.10.0 through 3.19.0 (2026-07-05 to 2026-09-01) carried no functional change to persistent-cache-service itself.
- 3.10.0 moved the Docker build and release pipeline onto the shared
stigg-sdkmonorepo pipeline (CI/CD only — no image or runtime change). - 3.10.1 through 3.19.0 each only bumped the package version to track releases of other packages in the monorepo; nothing in persistent-cache-service changed in any of them.
2026-07-05
- Added:
hasSoftLimitis now written into the cache for feature and credit entitlements. Requires@stigg/node-server-sdkv4.45.0+ on the reader side to take effect; older readers ignore the field. - Migrated to the
stiggio/stigg-sdkmonorepo, now published as@stigg/persistent-cache-service. The standalonestiggio/persistent-cache-servicerepository is retired. No image, config, or behavior change from the move itself.
2026-06-21
- Bumped
form-datato 4.0.6, patching CVE-2026-12143. - Versions 3.8.2 through 3.8.5 (2026-06-02 to 2026-06-21) were Docker release pipeline hardening (multi-arch registry push, private ECR mirroring, per-arch image tagging) with no functional change.
2026-06-02
- Patched CVEs in
lodash,qs, andfast-xml-builder.
2026-06-01
- The published Docker image is now a single multi-arch (
linux/amd64+linux/arm64) manifest under the standard tag. The separate-arm64-tagged image and privatepersistent-cache-service-armECR repo introduced in 3.7.0 are retired.
2026-05-28
- Added a
linux/arm64build of the persistent-cache-service Docker image, published to a private ECR repo under an-arm64tag alongside the existinglinux/amd64image.
2026-05-19
- Added:
KEYS_TTL_IN_SECSnow accepts a negative value (e.g.-1) to disable expiration on Redis cache entries, matching Redis’s own no-expiry convention. Applies to all writes through the SQS-driven persistent-cache-service pipeline (entitlements, usage). Default behavior is unchanged whenKEYS_TTL_IN_SECSis unset (7-day TTL). Purge/invalidation paths are unaffected — subscription migration continues to converge the cache. To get end-to-end no-expiry behavior, the same negative value must also be set on the reader side:@stigg/node-server-sdkv4.41.0+ (redis.ttl: -1) or sidecar-service v6.120.0+ (REDIS_KEYS_TTL_IN_SECS=-1).
2026-03-30
- Upgraded Stigg package dependencies and resolved security vulnerabilities.
2026-03-17
- Added support for caching credit entitlement data to enable low-latency credit balance retrieval via
getCreditEntitlement(). - Fixed an issue with custom currency handling.
2026-02-25
- Migrated to modular cache packages (
@stigg/cache-coreand@stigg/cache-redis-store) for improved maintainability and extensibility.
2026-02-23
- Resolved a deployment workflow issue with the persistent cache service.
2026-02-18
- Upgraded
fast-xml-parserdependency to resolve security vulnerability CVE-2026-26278.
2026-02-04
Breaking change: This version introduces a new Redis data structure for storing entitlement data. This change enables support for credit entitlements at high scale.
What changed
- The Redis data structure now stores entitlements in a polymorphic format that supports both boolean and credit-based entitlements
- Credit features are now properly linked to their credit entitlements
Why this matters
If you deploy persistent-cache-service v3.0.0 before upgrading all SDK/sidecar instances:- Older versions will misinterpret the new data structure
- Entitlement checks may return incorrect results
- This could affect your customers’ access to features
Migration steps
You must follow this upgrade sequence:- Upgrade your SDK or Sidecar to the minimum required versions (upgrade whichever you use):
@stigg/node-server-sdk→ v4.12.1 or later- sidecar-service → v5.194.5 or later
- Deploy all updated services: ensure all SDK and/or sidecar instances are running the new version
- Deploy persistent-cache-service v3.0.0, only after step 2 is complete
Migration considerations
As part of this change, additional entitlement metadata is stored, which may result in increased Redis memory usage.We recommend monitoring Redis memory usage following the upgrade and adjusting your memory allocation accordingly — particularly in environments with large entitlement caches.2025-11-23
- Added in-memory and persistent credit balance cache support to the SDK.
- Credit balances now automatically update on grant and consumption events.
- Entitlement evaluation uses the cached credit balance for faster checks.
