5.5 reads a package’s extra.laravel block and registers its providers and aliases automatically, which removes two config edits from every installation and removes them from view as well.
{
"extra": {
"laravel": {
"providers": ["Vendor\Package\ServiceProvider"],
"aliases": { "Thing": "Vendor\Package\Facade" }
},
"dont-discover": ["vendor/other-package"]
}
}
The debugging consequence is real: a binding you did not write now comes from a package you did not register, and config/app.php no longer lists what is loaded. php artisan package:discover shows the current set, and dont-discover in the application’s own composer.json takes a package back under manual control — which is what you want for anything whose provider order matters.