v0.2.2

<p>The Souin HTTP cache layer is dropped for standard Cache-Control headers, full registry rebuilds now commit in chunks, and pages get a cheap opportunistic registry heal.</p>

28 September 2026

Added

  • App::healRegistry() - called while resolving a page during routing, compares the registry's stored updated timestamp against the page's own and reindexes it if they've drifted (e.g. content restored from backup or edited on disk). Site pages only, additive-only.

Removed

  • The http-purge addon, its cache.purge binding, and its purge hooks on page/file save/delete.
  • Souin from the Docker stack: the custom Caddy+Souin build (phlat/Dockerfile.caddy) is deleted, compose.yaml's caddy service goes back to the plain caddy:2-alpine image, and the Caddyfile drops its cache directive block and @notStatic scoping.
  • The Surrogate-Key response header, set purely so Souin could target-purge by page UUID.

Changed

  • Registry::rebuild() now streams pages/items/users and commits every 500 records instead of one all-or-nothing transaction - a large rebuild no longer holds the write lock for its whole duration, and an interrupted rebuild only loses its current chunk.
  • registry:rebuild's progress bar total is now estimated from Registry::countRows() instead of a full directory walk just to count entries first.

Comments

No comments yet. Be the first!

Loading form…