Laravel 11: what actually changed in daily workflow
Been running Laravel 11 on a new project for two months. Documenting what actually changed compared to 10 in day-to-day work, not the marketing bullet points.
The slimmed bootstrap is the most visible change: no Http/Kernel.php and App/Console/Kernel.php by default. Middleware is registered in bootstrap/app.php now.
The single bootstrap/app.php is cleaner for new projects but migration from L10 is annoying. The middleware registration syntax changed and custom kernel middleware needs to be moved. Not complex but tedious.
Model and migration generation defaults changed. Previously php artisan make:model Post -m created both. The -m flag still works but the stubs are leaner. I had to update our project stubs to match team conventions.
Health check route out of the box is nice. We were maintaining a custom /health endpoint. Now it is /up by default with no controller needed.
Does anybody else find the new default directory structure confusing when you are working across L10 and L11 projects? The mental context switch when reading bootstrap files is real.
Yes. We standardize on one version per project and do not mix in the same team. The L11 structure is better in isolation but the transition cost is high for existing teams.
API-only projects benefit most from the slimmed structure. Full web projects with lots of custom middleware end up re-adding most of what was removed. The complexity does not go away, it just moves.
```php blocks are runnable.