v0.28.0

1 November 2026

The release moves the favicon and theme addons out of core and lets SVG files render as PNG variants.

Added

  • PageSvg::src() and transform() rasterize an SVG to a PNG variant on first request: $logo->src('w=400') is a 400px PNG, src('w=400,format=webp') a WebP. Needs Imagick.
  • Image::rasterize() draws an SVG as PNG bytes at the density that fills the requested size.
  • The Variants trait holds the variant URL logic shared by PageImage and PageSvg.

Changed

  • The admin theme is named default. phlatdark and phlatlight are gone, and the admin ships one dark theme.

Removed

  • The phlat/favicon and phlat/theme addons and their addons entries in phlat/config.json. A site that wants them keeps its own copy as site/favicon and site/themes.