Skip to content

v2.3.0 — Built-in Dashboard

Choose a tag to compare

@halilcosdu halilcosdu released this 11 Jul 00:40
· 5 commits to main since this release
5349844

Laravel Slower v2.3.0 — Built-in Dashboard

Install the package and you now have a full slow-query dashboard at /slower — no npm, no CDN, no assets to publish.

dashboard

Added

  • Built-in dashboard (/slower): overview stats (total / pending / avg / max duration), searchable and filterable query list (status, connection), sortable columns, pagination, and a detail page with keyword-formatted SQL, bindings, and the AI recommendation rendered from markdown.
  • Actions: Analyze with AI per query (per-record lock + rate limiter), analyze up to analyze_pending_limit pending queries at once, delete one, and clean up older than N days (0 clears all). AI actions warn about provider charges; destructive actions confirm first.
  • Telescope-style authorization: the viewSlower gate defaults to the local environment only and is config:cache-safe. Define it in a service provider to open the dashboard in production.
  • Dependency-free, themeable frontend: inline CSS + vanilla JS, dark/light theme (respects prefers-color-scheme, persists the choice), copy-to-clipboard, confirmations, auto-submitting filters.
  • MarkdownRenderer: a tiny escape-first renderer that HTML-escapes all input before any transform, so AI recommendations render richly without becoming a stored-XSS vector.

Changed

  • New additive dashboard config block (enabled, path, domain, middleware, per_page, analyze_pending_limit). Existing keys are unchanged.

Upgrade

Purely additive — no migration required, and the dashboard is disabled outside local by default. After upgrading, visit /slower locally, or define a viewSlower gate for other environments.

Security: captured SQL/bindings can contain sensitive data, and analyzing a query sends it to your AI provider as a billable call. Keep the gate tight and prune regularly with slower:clean.

Full changelog: https://github.com/halilcosdu/laravel-slower/blob/main/CHANGELOG.md