Cacheable is a set of maintained Node.js caching packages, built on Keyv, with support for different cache types like in-memory caching, HTTP request caching (RFC compliant), file metadata caching, and Redis-oriented options. It is useful when you need scalable caching across different layers in Node.js apps, including common frameworks via Cache Manager and related utilities.
Project status
- Actively maintained: Recent GitHub activity and steady updates across many packages (most notably a 2026-06-27 update, with additional updates in May and March) indicate the project is currently active and being worked on.
- Cadence: From 2026-03-17 to 2026-06-27, updates arrive roughly every 1 to 6 weeks, including smaller patch-type updates (for example 2026-05-16 and 2026-05-07) rather than long quiet periods.
AI summary generated
Recent updates
2026-06-27
This release adds major cache capabilities to cacheable, including tag-based invalidation (via CacheTags), per-store TTL overrides (including hook-driven overrides), and a static singleton accessor. It also expands @cacheable/memory with a getOrSet helper and opt-in event-driven statistics, extends @cacheable/net with WHOIS and RDAP helpers, and fixes behavioral parity with native fetch. Smaller but important bug fixes land in file-entry-cache (v8 reconcile semantics) and @cacheable/node-cache (metrics and take() correctness for falsy values).
Features2026-05-27
This release (2026-05-27) bumps eight packages in the cacheable monorepo, adding new cache capabilities and inspection hooks. The main functional changes are maxTtl support for Cacheable and CacheableMemory, plus substantial feature additions to @cacheable/node-cache (inspection methods, events, structuredClone-based cloning, and interval-based expiration checking). There is also a build-tool migration from tsup to tsdown and pnpm 11 across the affected packages.
Features2026-05-16
This release updates @cacheable/net to 2.0.8 with a fix for incorrect request body handling when using FormData and related body types. It also updates @cacheable/memory to 2.0.9 with README clarification that setting lruSize=0 disables LRU. The underlying repo diff also includes CI/test-infra tweaks and additional regression tests for body coercion.
2026-05-07
This release primarily patches node-cache for prototype pollution and expired-key handling, and fixes Cacheable TTL cascading behavior for set and setMany. It also upgrades a number of dependencies across the monorepo (Keyv/sqlite, lru-cache, qified, vitest stack, doc tooling).
BreakingSecurity2026-03-26
This release spans multiple packages in the cacheable monorepo, mainly consisting of dependency upgrades (undici, flatted, hashery), TypeScript typing fixes, and NodeCache internal changes around stats tracking. For @cacheable/node-cache, the release includes breaking changes related to hookified integration and removal of the maxKeys limit feature from NodeCacheStore.
BreakingSecurity2026-03-17
This release primarily consists of dependency updates across the monorepo, plus a fix related to running the @cacheable/net test suite against a local mockhttp server. It also moves some shared core dev dependencies to mono-hoist, reducing duplication across package-level package.json files.
2026-02-27
This release adds support for a per-call `nonBlocking` override to `getOrSet`, and includes multiple dependency upgrades across the monorepo. It also updates Node.js CI/matrix to Node 24 and makes changes to `@cacheable/node-cache` TTL handling.
BreakingFeatures2026-02-06
This release primarily upgrades several dependencies across the monorepo, including vitest, keyv, hookified, and undici. It also adds functional changes to CacheableMemory's LRU cleanup behavior and enhances error handling in the getOrSet utility.
2025-01-17
This release primarily upgrades test and internal dependencies (vitest to 4.0.17, qified to 0.6.0, hookified to 1.15.0) across multiple packages. In addition, the node-cache README was updated to describe breaking changes from the v1 API to v2 (NodeCacheStore changes).
Breaking2026-01-09
This release primarily updates the @cacheable/node-cache package to change its storage implementation to use Keyv. It also bumps multiple development dependencies (Vitest, Biome) and a few runtime-related library versions such as normalize-url, body-parser, and wrangler.
BreakingFeatures2025-12-26
This release appears to be entirely dependency and tooling version bumps across several workspace packages. The release notes primarily call out upgrades to keyv (in cache-manager), vitest, biome, lru-cache, hashery, and hookified, but the code diff shows additional related updates and a couple of package version bumps.