Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Clockwork Laravel Package

itsgoingd/clockwork

Clockwork is a browser-based dev tool for PHP/Laravel that profiles your app in real time. Inspect request data, performance, logs, database/cache/Redis queries, events, views, commands, queue jobs and tests—all from a clean timeline UI.

View on GitHub
Deep Wiki
Context7
v5.2.0
  • added new security protection - running Clockwork is now restricted to local domains unless explicitly enabled
  • added Redis storage implementation (implemented by christopherh0rn, thanks!)
  • added support for collecting tests with Pest 2 and PHPUnit 10 (reported by CadenP, idea by kdevan, thanks!)
  • added support for all Twig versions in the Twig profiler integration (idea by ericktucto, thanks!)
  • improved collecting of notifications in Laravel to support latest version of laravel/slack-notification-channel (implemented by maximepvrt, thanks!)
  • improved Laravel installation process to be able to use "clockwork" tag for publishing the config file
  • improved default Laravel config to ignore Telescope Toolbar requests by default (implemented by lloricode, thanks!)
  • improved Eloquent data source to support Crate PDO (implemented by JulianMar, thanks!)
  • improved Slim integration to support retrieving latest requests in the rest api (implemented by UlrichEckhardt, thanks!)
  • fixed compatibility with Laravel <5.5 when collecting database queries (reported by sbahr001, thanks!)
  • fixed compatibility with Laravel 5.6 when client-metrics or toolbar is enabled (reported by Smolinsky, thanks!)
  • fixed checking of notification type when collecting Laravel notifications (reported by faraweilyas, idea by jameshulse, thanks!)
  • fixed collecting of Slack notifications content in Laravel (implemented by maximepvrt, thanks!)
  • fixed collecting of Laravel cache expiration times (implemented by FeBe95, thanks!)
  • fixed ability to use custom should-collect and should-record callbacks (implemented by thattomperson, thanks!)
  • fixed a possible crash with SQL storage when creating backup table or inserting duplicate ids (reported by davidp-celtra, thanks!)
  • fixed an exception being thrown when Clockwork metadata path is not writable even when Clockwork was disabled (reported by joelharkes, thanks!)
  • fixed an issue with file storage causing some non-http requests might not be shown in the app (reported by mattvb91, thanks!)
  • fixed compatibility with using Filebeat to collect Clockwork metadata (implemented by JConseil, thanks!)
  • fixed Request::addModelAction method not storing the action properly (reported by UlrichEckhardt, thanks!)

BREAKING

  • Running Clockwork is now restricted to local domains - localhost, local, test, wip and 127.0.0.1 - unless explicitly enabled. If you want to use Clockwork on a different domain, please explicitly enable it by setting CLOCKWORK_ENABLE to true.
v5.1.12
  • improved Timeline event run method to stop the event in case of an exception (implemented by UlrichEckhardt, thanks!)
  • fixed some deprecation warnings on PHP 8.2 (implemented by faytekin, thanks!)
  • fixed some deprecation warnings on PHP 8.1 (implemented by villermen, thanks!)
v5.1.11
  • fixed crash when resolving authenticated user in Laravel without using Eloquent (reported by m-thalmann-athesia, thanks!)
v5.1.10
  • fixed crash when resolving authenticated user in Laravel (reported by LucaRed, thanks!)
v5.1.9
  • added support for Eloquent strict mode (reported by Sergiobop, thanks!)
v5.1.8
  • updated list of built-in Laravel commands to ignore when collecting commands and included Horizon commands
  • fixed collecting of Laravel queue jobs when used with Horizon
  • fixed collecting of authanticated user name when the User model includes name() method (implemented by devfrey, thanks!)
v5.1.7
  • added support for authentiaction in the Vanilla integration
  • added support for compressed Xdebug profiles
  • improved collecting of Laravel Artisan commands to support abbreviated commands (implemented by mike-peters90, thanks!)
  • fixed doubled backslashes in collected Laravel database query bindings (reported by pys1992, thanks!)
  • fixed compatibility with PostgreSQL in SQL storage (implemented by screw, thanks!)
  • fixed possible crash during file storage cleanup when used with Laravel Octane (reported by flexchar, thanks!)
  • fixed infinite loop when collecting queries in Doctrine 3.x (reported by N-M, thanks!)
v5.1.6
  • added Monolog 2.x compatible handler (idea by mahagr, thanks!)
  • improved log to handle all Throwable classes as exceptions (idea by EdmondDantes, thanks!)
  • fixed support for capturing console output in Laravel 9 (reported by mikerockett, thanks!)
v5.1.5
  • removed support for psr/log
  • fixed some typos (implemented by fridzema, thanks!)

BREAKING

  • Clockwork\Request\Log no longer implements the PSR log interface, it is unlikely you are using this class directly
v5.1.4
  • added Laravel 9 support
  • added support for manually registering Clockwork middleware in Laravel
  • fixed some failing tests might not been collected in Laravel (reported by ajcastro, thanks!)
  • fixed not respecting the collect tests setting in Laravel (reported by SimBig, thanks!)
  • fixed some deprecation warnings on PHP 8.1 (implemented by usernotnull, thanks!)
v5.1.3
  • added PSR to the default filtered namespaces from stack traces in the Laravel integration
  • fixed not being able to log non-string values when using psr/log >=2.0 (reported by Wit3, thanks!)
  • fixed some deprecation warnings on PHP 8.1 (reported by Pinnokkio, thanks!)
  • fixed wrong redirect when accessing web ui with an url including a trailing slash (implemented by ssnepenthe, thanks!)
  • fixed update-token could be leaked via the Clockwork rest api (implemented by ssnepenthe, thanks!)
v5.1.2
  • fixed some deprecation warnings on PHP 8.1 (reported by Codomic, thanks!)
v5.1.1
  • added support for psr/log 2.0 (used in recent Laravel versions) (implemented by byGits, thanks!)
  • improved timeline api event run method to return the return value of passed closure
  • improved collecting Laravel database queries to not quote integers (implemented by thisiskj, thanks!)
  • improved toolbar details link to always be absolute and work with subdirectories (reported by superDuperCyberTechno, thanks!)
  • fixed some depecation warnings on PHP 8.1 (implemented by gharlan, thanks!)
  • fixed collecting Laravel database queries to produce correct queries when bindings contain question marks (reported by woshixiaobai, thanks!)
  • fixed filtering collected and recorded requests by closure (implemented by ssnepenthe, thanks!)
  • fixed some inconsistencies in the Clockwork metadata api
  • fixed some web UI assets being server with wrong mime-types (implemented by ssnepenthe, thanks!)
  • fixed missing method on storage interface and missing default parameter value in sql storage (implemented by ssnepenthe, thanks!)

BREAKING

  • timeline api event run method now returns the return value of passed closure instead of the event instance
v5.1.0
  • added initial support for Laravel Octane
  • added support for Web UI in the vanilla integration
  • added support for collecting Laravel cache queries without values (implemented by akalongman, thanks!)
  • added ability to filter Laravel routes from particular namespaces (idea by hailwood, thanks!)
  • improved collecting of request URL to include full URL including the query string
  • improved Clockwork Browser payload to include Web UI path
  • updated Clockwork App (5.1)
  • fixed logging falsy values via Clockwork::log (reported by Karmalakas, thanks!)
  • fixed PHP 8 incompatibility when processing some Laravel notifications (implemented by nanaya, thanks!)
  • fixed request body being collected even when already parsed into POST data
  • fixed collecting request URLs with non-standard ports
v5.0.8
  • fixed crash when collecting Laravel mailables built via MailMessage (implemented by cbl, thanks!)
  • fixed crash when collecting artisan command in Lumen (reported by 2Attack, thanks!)
  • fixed crash when collecting database queries in Laravel with connection implementation not using PDO (implemented by lenssoft, thanks!)
  • fixed crash when HTTP request body contains valid json which does not contain array (eg. a number) (reported by Mradxz, thanks!)
  • fixed collected jobs dispatched from other jobs not having a correct parent job set (implemented by josvar, thanks!)
v5.0.7
  • changed delay listening to events until the app is booted (improves comatibility with some other packages)
  • changed default settings to enable toolbar (separately installed component)
  • changed default except requests filter to include debugbar api (implemented by edgardmessias, thanks!)
  • fixed wrong type-hint for the timeline event run method (reported by hferradj, thanks!)
  • fixed on-demand mode not working in Laravel (reported by yemenifree, thanks!)
  • fixed crash when collecting Laravel notifications with recipient names (reported by iainheng, thanks!)
  • fixed possible crashes and other issues when collecting Laravel notifications (reported by beekmanbv, thanks!)
  • fixed crash when creating runnable queries in DBAL data source (implemented by N-M, thanks!)
v5.0.6
  • fixed vanilla integration overriding other cookies when used with a PSR-7 response (reported by leemason, thanks!)
v5.0.5
  • added support for toolbar in the vanilla integration (idea by reeslo, thanks!)
  • added support for client metrics in the vanilla integration
  • improved PSR-7 support in the vanilla integration
  • fixed toolbar might not work when not collecting database models
  • fixed crash collecting Slack and Nexmo notifications (reported by abalozz, thanks!)
  • fixed timeline api usage not being updated in the Slim integration leading to crash (reported by jiaojie1989, implemented by seanhamlin, thanks!)
  • fixed api path being interpreted as regex in the vanilla integration (implemented by pqr, thanks!)
  • fixed Symfony storage not being updated for latest storage api (implemented by auchanhub, thanks!)
v5.0.4
  • fixed Lumen integration crash (implemented by alexbegoon, thanks!)
  • fixed PHP 5.6 incompatibility (implemented by sanis, thanks!)
v5.0.3
  • fixed PHP 8.0 incompatibility in log (implemented by mtorromeo, thanks!)
v5.0.2
  • fixed data sources not being initialized for extended data requests (reported by tmishutin, thanks!)
  • fixed inconsistent handling of time and duration arguments in various Request::add* methods (reported by mahagr, thanks!)
  • updated Clockwork App (5.0.2)
v5.0.1
  • fixed performance issues related to collecting stack traces for Eloquent models actions (reported by mstaack, thanks!)
  • fixed collecting database and unsupported Laravel notifications (implemented by YannikFirre, thanks!)
  • fixed log and timeline sorting leading to invalid metadata format
  • updated Clockwork App (5.0.1)
v5.0.0
  • added collecting of client-metrics and web-vitals
  • added collecting of Eloquent models actions and retrieved, created, updated and deleted models counts
  • added collecting of Laravel notifications
  • added reworked timeline api
  • added configurable web ui path (default changed to /clockwork)
  • added toolbar support
  • added on-demand mode (with optional secret)
  • added option to collect error requests only (requests with 4xx and 5xx responses)
  • added option to specify slow threshold and collect slow requests only
  • added option to sample collected requests (collect only 1 in x requests)
  • added option to collect only specified urls
  • added option to not collect pre-flight requests (enabled by default)
  • added option to filter collected and recorded requests by closure
  • added Laravel controller timeline event
  • added support for updating existing requests
  • added Slim 4 support
  • updated to Clockwork App 5.0
  • improved reworked the central Clockwork class api
  • improved requests recording to use a terminate callback
  • improved global log instance to live on the request instance
  • improved global timeline instance to live on the request instance
  • improved Symfony routes registration to register web ui paths only when enabled
  • improved SQL storage to be more compatible with different PDO error modes
  • improved Clockwork rest api with only/except filters
  • improved handling of corrupted index records in file storage
  • improved cleaned up the code-base, added and improved comments, use modern php features
  • removed Laravel total, initalization, boot and run timeline events
  • removed legacy clockwork.controller events
  • removed duplicate file/line information from collected metadata
  • fixed authentication route not being registered when web ui is disabled
  • fixed database queries not being collected for queue jobs
  • fixed multi-line database queries not being counted properly (implemented by edgardmessias, thanks!)
  • fixed StackFrame not processing Windows paths correctly

BREAKING

  • multiple changes to the Laravel config file, please review and re-publish
  • minimal required PHP version is now 5.6 (previously 5.5)
  • the timeline api was reworked, please see documentation for details
  • the global log instance was moved to request instance, please see documentation for details
  • the central Clockwork class api was reworked, old api is available but deprecated
  • changed Slim middleware namespaces
v4.1.8
  • fixed handling of index file locking failures in file storage (reported by mahagr, thanks!)
v4.1.7
  • fixed a rare crash in Eloquent duplicate queries detection (reported by mstaack, thanks!)
  • fixed code-style in the Laravel config (implemented by fgilio, thanks!)
v4.1.6
  • added support for filtering collected requests by method to Laravel integration (options requests filtered by default) (idea by mortenscheel, thanks!)
  • added support for filtering collected requests by uri and method to vanilla integration
  • fixed handling of failed file operations on index file in file storage (reported by staabm, thanks!)
v4.1.5
  • fixed crash on initialization in Lumen apps using queue (reported by gramparallelo, thanks!)
v4.1.4
  • added support for a time property to the Request:add* apis, defaults to "current time - duration"
  • fixed crash when collecting console commands with array arguments or options in the Laravel integration (implemented by mortenscheel, thanks!)
  • fixed default storage directory being one level too deep in vanilla integration
v4.1.3
  • fixed file storage not unlocking index when cleanup has nothing to clean (implemented by Nacoma, thanks!)
v4.1.2
  • fixed interaction when making HTTP requests in feature tests when collecting tests in Laravel
  • updated to Clockwork App 4.1.1
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
davejamesmiller/laravel-breadcrumbs
artisanry/parsedown
christhompsontldr/phpsdk
enqueue/dsn
bunny/bunny
enqueue/test
enqueue/null
enqueue/amqp-tools
milesj/emojibase
bower-asset/punycode
bower-asset/inputmask
bower-asset/jquery
bower-asset/yii2-pjax
laravel/nova
spatie/laravel-mailcoach
spatie/laravel-superseeder
laravel/liferaft
nst/json-test-suite
danielmiessler/sec-lists
jackalope/jackalope-transport