Skip to content

4.0.0

Latest

Choose a tag to compare

@timvandijck timvandijck released this 12 Mar 14:30
· 3 commits to main since this release
19cdc16

Summary

Version 4 modernizes laravel-dashboard with updated dependencies, proper PHP enums, and improved developer tooling.

Breaking changes

  • Livewire 4 required (drops Livewire 3 support)
  • Laravel 11+ required (drops Laravel 10 support)
  • Tailwind CSS 4 — upgraded from v1, using new @theme directive and @tailwindcss/browser CDN for the default view
  • Dashboard::getTheme() now returns Theme enum, Dashboard::getMode() returns Mode enum (instead of strings)
  • Tile model uses $fillable instead of $guarded = [], and casts() method instead of $casts property
  • DashboardTileComponent::$refreshIntervalInSeconds renamed to $refreshInterval
  • Fluent methods return static instead of self
  • Migration stub uses anonymous class

New features

  • BaseTileComponent — abstract Livewire component with #[Defer] attribute and a skeleton placeholder, giving tiles lazy-loading out of the box
  • Theme and Mode enums — type-safe theme/mode handling replacing string constants
  • lazy and defer props on <x-dashboard-tile> component
  • PHPStan level 8 with Larastan

Improvements

  • Migrated test suite from PHPUnit to Pest
  • Expanded test coverage: new tests for DashboardComponent, UpdateModeComponent, theme query parameters, tile edge cases
  • CI matrix now includes PHP 8.5
  • Removed inline CSS injection from service provider (CSS now loaded via Tailwind browser CDN in view)
  • Removed unused $defaultTheme contextual binding from service provider
  • Constructor property promotion across components
  • Typed return types on all methods
  • Removed yarn.lock / husky / lint-staged, switched to npm with modern dependency versions

Upgrade guide

See UPGRADE.md for detailed migration instructions.

New Contributors

Full Changelog: 3.3.1...4.0.0