v0.34.0
Latest release1 November 2026
The API reference is now read from the code, and more page methods take a find query.
Added
/docs/apiis a reference built by reflection from the Toolkit and every class tagged@api, through the newPhlat\Referenceclass. The admin docs use it too.$page->files('type=image,sort=filename,limit=4')filters and sorts a page's files with the find query, overfilename,name,extension,type,mime,size,modifiedand their metadata fields.Query::filter($items, $query, $value)runs a find query over items already in memory.parents(),next(),prev()take a query, andclosest($query)returns the nearest page matching it, walking up from the page itself.PageCollection::delete()deletes every page in the collection in one operation and returns how many went. Several pages make one History entry.Registry::atomic($fn)runs a bulk change as one transaction, andCollection::deleteParents($uuids)removes the items of many pages at once.Str::suggest($input, $options)returns the closest option. An unknown fieldtype or registry field now ends its error with "Did you mean ...?".Arr::every(),Arr::some()andSrv::caller().
Changed
next()andprev()take the query first:next(true)becomesnext(includeHidden: true).$app->emit()throws outsidephlat/. Site code and addons emit with$page->emit()or$app->addon($alias)->emit().Page::delete()goes throughPageCollection::delete(), andRecord::assertUnlocked()is public.