Skip to content

Latest commit

 

History

History
172 lines (112 loc) · 8.06 KB

File metadata and controls

172 lines (112 loc) · 8.06 KB

Changelog

v0.2.0

compare changes

🚀 Enhancements

  • storage: Bound memory storage with optional maxSize + LRU eviction (#38)
  • cache: Support dynamic per-entry TTL via getMaxAge hook (#39)
  • Per-call cache status and x-cache response header (#40)
  • cache: Support asynchronous validate option (#44)
  • cache: ⚠️ Pass call args to validate (#46)
  • http: Support allowQuery to filter query params (#14, #29)
  • http: Support shouldCache to reject responses from caching (#48, #55)
  • http: Emit Vary response header for varies (#56)
  • http: ⚠️ allowCookies and disallow cookies from caching by default (#58)
  • cache: Add write-time serialize hook (#59)
  • http: Support binary response bodies (#66)
  • http: Add sendCacheControl for server-only caching (#49, #67)
  • http: Expose .expire/.invalidate/.resolveKeys on cached handlers (#72)

🩹 Fixes

  • http: Honor explicit Cache-Control no-store/private (#42)
  • cache: ⚠️ Never serve stale with staleMaxAge: 0 (#45)
  • http: Keep custom cache keys collision-free (#60)
  • Leftovers from #58 (#58)
  • http: Respect user-supplied shouldBypassCache (#50, #62)
  • cache: ⚠️ Use fn.name for cache key when name option is omitted (#63)
  • http: ⚠️ Strip non-allowlisted Set-Cookie instead of blocking storage (#61, #68)
  • http: Strip transport headers from cached responses (#74)

💅 Refactors

  • ⚠️ Disable swr by default (#57)
  • http: ⚠️ Build ResponseCacheEntry in serialize; pass bypassed responses through untouched (#65)

📖 Documentation

  • Add ISR caching section to README (83f8091)
  • Set up docs website (#69)
  • Note sendCacheControl/ISR purge caveats (4ffe207)

🏡 Chore

⚠️ Breaking Changes

  • cache: ⚠️ Pass call args to validate (#46)
  • http: ⚠️ allowCookies and disallow cookies from caching by default (#58)
  • cache: ⚠️ Never serve stale with staleMaxAge: 0 (#45)
  • cache: ⚠️ Use fn.name for cache key when name option is omitted (#63)
  • http: ⚠️ Strip non-allowlisted Set-Cookie instead of blocking storage (#61, #68)
  • ⚠️ Disable swr by default (#57)
  • http: ⚠️ Build ResponseCacheEntry in serialize; pass bypassed responses through untouched (#65)

❤️ Contributors

v0.1.5

compare changes

🚀 Enhancements

  • cache: Add expireCache and .expire() for SWR-friendly invalidation (#23)

🩹 Fixes

  • cache: Handle eviction promise rejections and use waitUntil (#16)

🏡 Chore

❤️ Contributors

v0.1.4

compare changes

🔥 Performance

  • cache: Skip writing to lower tiers on multi-tier cache hit (4fe0de7)

❤️ Contributors

  • Pooya Parsa (@pi0)

v0.1.3

compare changes

🚀 Enhancements

  • Respect staleMaxAge (8915db3)
  • cache: Add resolveCacheKey and .resolveKey() (#6)
  • storage: Nullish set deletes entry instead of storing dead weight (71d5f11)
  • Multi-tier cache base (#7)
  • cache: Add invalidateCache() and .invalidate() (#8)

🩹 Fixes

  • Respect zero ttl (#5)
  • http: Merge default options when partial opts are provided (#2)
  • cache: Catch sync storage errors in get/set (ee1bb02)
  • cache: Evict stale entry on SWR revalidation failure (#9)
  • storage: Proactively flush expired memory entries (#10)

🏡 Chore

❤️ Contributors

v0.1.2

compare changes

🚀 Enhancements

  • http: Add framework integration hooks to defineCachedHandler (2bfd379)

🏡 Chore

  • Update plan with nitro upstream requests (7f61e38)
  • Apply automated updates (e8febf0)
  • Apply automated updates (attempt 2/3) (e061d46)

❤️ Contributors

  • Pooya Parsa (@pi0)

v0.1.1

compare changes

💅 Refactors

🏡 Chore

  • Apply automated updates (1ae48ce)

❤️ Contributors

  • Pooya Parsa (@pi0)