# Laravel 13 upgrade

Installed framework: Laravel 13.31.0. Local runtime: PHP 8.4.25.
The resolved dependencies require PHP 8.4.1 or newer, with the extensions
verified by `composer check-platform-reqs`. XAMPP's global PHP remains 8.2.12.

From this project directory in PowerShell:

```powershell
.\artisan.ps1 --version
.\artisan.ps1 serve --port=8001
.\artisan.ps1 test
.\composer.ps1 install
.\composer.ps1 check-platform-reqs
```

The launchers use the separate PHP installation at
`%USERPROFILE%\.codex\runtimes\php-8.4.25`. Other machines and production must
install PHP 8.4.1+ and use their own `php` and `composer` commands. Apache in
XAMPP has not been reconfigured. Do not run this application's upgraded vendor
directory using XAMPP PHP 8.2.

Livewire was upgraded from 2 to compatible 3.8, retaining the existing component
namespace and legacy model binding. Events use named payloads; eager model
bindings retain live updates. Alpine is supplied by Livewire rather than loaded twice.
Permissions middleware imports and PHPUnit configuration were updated.

Composer autoload optimization is disabled locally because the optimized scan
stalled on this Windows machine. Production can build an optimized autoloader
with `composer install --no-dev --optimize-autoloader`.

Validation: eight existing tests and two Livewire compatibility tests passed;
public route smoke checks and the browser registration selector were checked.
Production database migrations, real email delivery, payments, and every admin
workflow have not been exercised. No production database migration was run.

References: https://laravel.com/docs/13.x/upgrade,
https://laravel.com/docs/12.x/upgrade,
https://laravel.com/docs/11.x/upgrade,
https://laravel.com/docs/10.x/upgrade.
