Skip to content

Release v2.5.1#29

Merged
miguelcolmenares merged 3 commits into
mainfrom
release/v2.5.1
Jul 1, 2026
Merged

Release v2.5.1#29
miguelcolmenares merged 3 commits into
mainfrom
release/v2.5.1

Conversation

@miguelcolmenares

Copy link
Copy Markdown
Member

Changes

Fixed

  • caching.instructions.md / nextjs-caching skill — corrected the POST-read caching claim (WEB-1069). The previous guidance implied next: { revalidate, tags } alone was sufficient to make a POST-read page (e.g. CCDS geo-search, which powers city/community pages) CDN-cacheable. Production testing showed the data fetch caches with those options, but the route still renders dynamically (cache-control: private, no-store) — the two are independent facts. Both documents now separate the data-fetch cache fact from the route-rendering fact and document the three fixes: CDN edge override (proxy.ts, shipped default), dynamic = "force-static" (interim, requires null-safety + throw-on-5xx), and cacheComponents + use cache (strategic).
  • Revalidate tiers raised to 30 days; image minimumCacheTTL to 1 year — CCDS/WP data changes rarely and is refreshed on-demand via webhooks + tags, so the previous 24h/30d defaults were unnecessarily short.
  • Documented the expireTime / CDN stale-window rule — Next emits s-maxage=<revalidate>, stale-while-revalidate=<expireTime - revalidate> for ISR pages, so expireTime must be ≥ the largest page revalidate or the stale window is invalid. Added the correct value (5184000, 60d) and the matching proxy override value (s-maxage=2592000, stale-while-revalidate=2592000).

Release

  • Version bump 2.5.0 → 2.5.1 (package.json, package-lock.json, src/index.js VERSION).

Post-merge

publish.yml triggers on release: [created], so a bare tag push will not publish to npm — a GitHub Release must be created after this merges:

git checkout main && git pull
git tag v2.5.1
git push origin v2.5.1
gh release create v2.5.1 --generate-notes

Test plan

  • npm test — 44/44 passing
  • package.json / package-lock.json / src/index.js VERSION in sync at 2.5.1

🤖 Generated with Claude Code

miguelcolmenares and others added 3 commits June 30, 2026 20:51
…c/use-cache options + 30d/1y tiers

- Separate the data-fetch cache (POST caches WITH next options) from route
  rendering (POST-read route still emits private/no-store) — the WEB-1069 gotcha
- Document the three rendering-layer fixes: CDN edge override (shipped),
  force-static (interim, needs null-safety + throw-on-5xx), use cache (strategic)
- Raise revalidate tiers to 30d (CCDS/WP) and image minimumCacheTTL to 1y
- Correct the prior claim that next:{revalidate,tags} alone makes a POST page cacheable

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- Document expireTime semantics: s-maxage=<revalidate>, SWR=<expireTime-revalidate>;
  must be >= largest revalidate. Set 5184000 (60d) for a uniform 30d/30d header.
- Update proxy override value to public, s-maxage=2592000, stale-while-revalidate=2592000

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@miguelcolmenares miguelcolmenares self-assigned this Jul 1, 2026
@miguelcolmenares miguelcolmenares added documentation Improvements or additions to documentation enhancement New feature or request labels Jul 1, 2026
@miguelcolmenares miguelcolmenares merged commit 7fe794f into main Jul 1, 2026
4 checks passed
@miguelcolmenares miguelcolmenares deleted the release/v2.5.1 branch July 1, 2026 16:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant