v0.46.0
4 November 2026
Definitions are now index.json, a view is a folder with index.latte or index.json, and the Clockwork addon reports client load timings and Web Vitals.
Added
PageView::fieldTemplate($field, $parent)finds a view's own render of a field:{view}/{field}.field.latte, or{view}/{parent}.{field}.field.lattefor a field inside a stack, blocks or repeater.- The Clockwork addon has a Client tab with the page's load timings and Web Vitals (LCP, CLS, FCP, TTFB, FID). Add
{include '@clockwork/client.latte'}to the layout to turn it on. It renders nothing withdebugoff. - Clockwork's
tabsaddon setting lists which of Database, Views, I/O and Cache each recorded request keeps.
Changed
- A definition a developer writes is
index.json, not_index.json: a view's, a field's, a fieldtype's, a role's, a file type's and an addon's manifest. The underscore now means the CMS writes the file, so a page's, user's or collection item's_index.jsonis unchanged. Rename each definition outsidepages/anddata/.phlat make:viewandmake:fieldwrite the new name. - A view is a folder in
views/with anindex.latteor anindex.json, andApp::viewNames()lists exactly those.PageView::templateFile()no longer falls back toviews/{name}.latte: move it toviews/{name}/index.latte, and give a router-only view anindex.json. - A view's field renders live in its own folder as
{field}.field.latte.views/fields/{view}/is no longer read: move{field}.lattetoviews/{view}/{field}.field.latte, and{parent}/{field}.lattetoviews/{view}/{parent}.{field}.field.latte. - Clockwork's Views tab is folded into the Data tab.