v0.49.0

4 November 2026

A page cache hit runs fewer queries, and the registry keeps its index version in PRAGMA user_version.

Added

  • Dir::newest($path, $patterns) returns the newest modified time of any file beneath a folder whose name matches one of the fnmatch patterns, or 0 when none does.

Changed

  • A page cache hit reads its entry once. Cache::remaining() reuses the expiry the hit already read instead of looking the key up again.
  • The debug template check scans only the matching template files with Dir::newest(), and the pages cache boots faster.
  • The Clockwork addon skips its controllers event on a page cache hit.
  • The registry stores its index version in PRAGMA user_version, like the cache and collection databases. The meta table is gone and boot runs one query instead of two. The first request after the upgrade remakes the registry's indexes once (seconds, even at 400k pages), and the old meta table stays unused until the next rebuild.

Fixed

  • Ses clears PHP's session cache limiter, so session_start() no longer sends its own Cache-Control over the app's.