A JavaScript library that implements HTTP cache semantics from RFC 7234/9111, by parsing request and response headers to determine when a cached HTTP response can be reused. It helps handle tricky caching rules like `Vary`, proxy revalidation, and authenticated responses, and it supports `stale-if-error` and `stale-while-revalidate` behaviors from RFC 5861.
Project status
- This GitHub source appears quiet, with the newest published updates at v4.1.1 dated 2023-01-27, and no evidence of additional published updates since then (the most recent upstream push shown is 2025-03-19).
- The apparent update cadence has slowed substantially, with long gaps between updates (for example, v4.1.1 in 2023, then prior updates in 2020, 2019, and 2018), suggesting maintenance is not actively ongoing as of 2026-08-12.
AI summary generated
Recent updates
v4.1.1
Release v4.1.1 has no published release notes, but the code diff shows changes to HTTP caching semantics and to the project’s development tooling setup. The runtime change primarily affects how Cache-Control headers are parsed and which HTTP status codes are treated as cacheable by default.
Breakingv4.1.0
Version v4.1.0 adds support for RFC 5861 directives, including stale-if-error and stale-while-revalidate, extending cache lifetime semantics. The underlying cache freshness logic was also refactored, including changes to how response headers and time calculations are derived. The provided release notes are empty, so the actual behavioral changes below are effectively undocumented from the publisher perspective.
BreakingFeaturesv4.0.4
Release v4.0.4 has no published release notes. The code diff shows a small but meaningful change to CachePolicy cacheability logic, plus repository metadata changes (notably removal of package-lock.json).
Breakingv4.0.3
Release v4.0.3 has no published release notes content (the publisher provided none). The diff mainly shows formatting and tooling changes, with a smaller amount of internal code style adjustments in index.js plus repo configuration updates (ESLint/Prettier/Husky) and a version bump.
v4.0.2
Release v4.0.2 bumps the package version from 4.0.0 and introduces small but behavior-affecting logic changes in the core cache policy calculation. No release notes were provided, so consumers need to rely on the code diff to understand what changed.
v4.0.0
v4.0.0 makes the CachePolicy date handling more explicit by introducing server Date trust controls and adding additional Date behavior to response header construction. The code also modernizes the package entrypoint (no node4 build output) and updates test coverage for clock skew and expires/date-relative behavior.
BreakingFeaturesv3.8.1
Release v3.8.1 has no release notes provided. The code changes are limited to CI configuration, README wording, and npm package contents (what files get published).
v3.8.0
Release v3.8.0 introduces HTTP cache warning header behavior and corresponding tests. Release notes were not provided, so the only reliable source is the code diff, which shows a change to CachePolicy.responseHeaders and updated dev dependencies.
Featuresv3.7.3
Release v3.7.3 contains a small runtime-compatibility change in the cache policy logic and a packaging/build pipeline update. The published entry point is switched to a transpiled Node 4 output directory, and Babel tooling is added to generate that output on publish.
v3.7.1
Release v3.7.1 was published on 2017-04-02, but the publisher did not provide any release notes (no documented changes). As a result, there is no developer-facing information available here to confirm new features, fixes, or potential breaking changes.