Skip to content

Upgrade to Laravel 13#26

Open
thinkstylestudio wants to merge 3 commits into
developfrom
feature/laravel-13-upgrade-7f74
Open

Upgrade to Laravel 13#26
thinkstylestudio wants to merge 3 commits into
developfrom
feature/laravel-13-upgrade-7f74

Conversation

@thinkstylestudio
Copy link
Copy Markdown

Summary

Upgrades the application from Laravel 12 to Laravel 13 (v13.11.1).

Dependency updates

Package Before After
laravel/framework ^12 ^13.0
laravel/tinker ^2.9 ^3.0
laravel/boost ^1.0 ^2.0
pestphp/pest ^3.5 ^4.0
pestphp/pest-plugin-laravel ^3.0 ^4.0
barryvdh/laravel-debugbar ^3.14 ^4.0

Filament remains on v4 and is compatible with Laravel 13 after composer update.

Breaking changes addressed

  • CSRF middleware: Replaced VerifyCsrfToken with PreventRequestForgery in the Filament dashboard panel provider (Laravel 13 rename + stricter request-origin checks).
  • Cache config: Added serializable_classes => false and updated the default cache key prefix format.
  • Session/Redis prefixes: Updated default prefix format to hyphenated style (matches Laravel 13 skeleton). Existing deployments with explicit CACHE_PREFIX, REDIS_PREFIX, and SESSION_COOKIE in .env are unaffected.
  • PHPUnit: Synced phpunit.xml with Laravel 13 defaults (in-memory SQLite, APP_KEY for CI, removed deprecated env vars).

Verification

  • php artisan test — all tests passing
  • vendor/bin/pint --dirty — formatting applied

Notes for deployers

If you rely on framework-generated cache/session prefixes (no explicit env vars), set CACHE_PREFIX, REDIS_PREFIX, and SESSION_COOKIE in production before deploying to avoid invalidating existing sessions/cache keys.

Open in Web Open in Cursor 

Justin Rhodes and others added 3 commits August 11, 2025 21:01
- Update laravel/framework to ^13.0, tinker to ^3.0, boost to ^2.0
- Upgrade Pest to v4 and laravel-debugbar to v4 for L13 compatibility
- Replace VerifyCsrfToken with PreventRequestForgery middleware
- Add cache serializable_classes config and update default prefixes
- Sync phpunit.xml with Laravel 13 testing defaults and APP_KEY

Co-authored-by: Theron Smith <theron+github@thinkstylestudio.com>
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Upgrades the application from Laravel 12 to Laravel 13 (locked to v13.11.1) and updates related dev/test tooling and Filament frontend assets to remain compatible with the new framework/runtime behavior.

Changes:

  • Bump core and dev dependencies for Laravel 13 / Pest 4 / Debugbar 4 compatibility.
  • Align application configs with Laravel 13 defaults (cache/session/redis prefixes, cache serialization hardening, phpunit env defaults).
  • Refresh Filament published JS assets to the versions compatible with the upgraded stack.

Reviewed changes

Copilot reviewed 14 out of 41 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
composer.json Updates Laravel/framework and related package constraints for the Laravel 13 upgrade.
composer.lock Locks dependencies to updated versions (notably laravel/framework v13.11.1).
app/Providers/Filament/DashboardPanelProvider.php Updates Filament panel middleware stack for Laravel 13 request forgery protection changes.
config/cache.php Updates cache prefix format and adds serializable_classes hardening setting.
config/database.php Updates Redis key prefix format to match Laravel 13 defaults.
config/session.php Updates session cookie naming defaults to match Laravel 13 conventions.
phpunit.xml Syncs test environment defaults with Laravel 13 (APP_KEY, sqlite memory DB, env flags).
public/js/filament/actions/actions.js Updated Filament actions modal behavior in published asset bundle.
public/js/filament/filament/app.js Updated Filament app boot/navigation behavior in published asset bundle.
public/js/filament/forms/components/select.js Updated Filament select component bundle (includes reorderable behavior / Sortable integration).
public/js/filament/notifications/notifications.js Updated notifications bundle (UUID generation + JSON serialization).
public/js/filament/schemas/schemas.js Updated schema bundle (sticky actions + Livewire commit handling).
public/js/filament/support/async-alpine.js Updated Async Alpine loader bundle used by Filament assets.
public/js/filament/support/support.js Updated Filament support bundle (tooltips, floats, sortable, modal helpers, etc.).
public/js/filament/tables/tables.js Updated Filament tables bundle (selection, column manager, filters dropdown positioning).
Files not reviewed (10)
  • public/fonts/filament/filament/inter/index.css: Language not supported
  • public/js/filament/actions/actions.js: Language not supported
  • public/js/filament/filament/app.js: Language not supported
  • public/js/filament/forms/components/checkbox-list.js: Language not supported
  • public/js/filament/forms/components/color-picker.js: Language not supported
  • public/js/filament/forms/components/key-value.js: Language not supported
  • public/js/filament/forms/components/slider.js: Language not supported
  • public/js/filament/forms/components/textarea.js: Language not supported
  • public/js/filament/notifications/notifications.js: Language not supported
  • public/js/filament/schemas/components/actions.js: Language not supported

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread public/js/filament/forms/components/select.js
Comment thread public/js/filament/tables/tables.js
Comment thread public/js/filament/actions/actions.js
@thinkstylestudio thinkstylestudio changed the base branch from main to develop May 20, 2026 07:15
Copy link
Copy Markdown

@dpellenwood dpellenwood left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🍏

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants