v0.0.43
4 July 2026
Db::listen, F::listen, and App::onEmit observability hooks; Clockwork addon reworked to use Clockwork's Log tab throughout.
Added
Db::listen(callable): registers a callback fired after everyDb::sql()call with(sql, params, duration in ms, connection name). Intended for observability tools like Clockwork; never for control flow.F::listen(callable): registers a callback fired after everyF::read()andF::write()with(op, path, duration in ms, byte count).App::onEmit(callable): registers an observer notified after every hook listener runs, with(event, source, duration in ms). Source is a best-effortfile:linelabel for closures, class::method for named callables.
Changed
- Clockwork addon reworked: page, request/session, exceptions, and config data all moved to Clockwork's Log tab (instead of bespoke custom panels). DB queries feed Clockwork's built-in Queries tab via
Db::listen(). File operations and hook-call timings feed a new I/O custom tab viaF::listen()andApp::onEmit(). Latte template renders feed Clockwork's built-in Views tab viabeforeRender. Errors and warnings are captured viaset_error_handlerand logged to the Log tab. PHP boot time is now represented as a Bootstrap timeline entry before the Addons window.