felixfrey/laravel-theme
A Laravel package for managing multiple themes in your application, letting you organize theme views, assets, and configuration and switch between them cleanly without duplicating code.
Version 1.1.0 is a compatibility release ("Add Support for Laravel 13"), so the first job is confirming the constraint actually widened rather than assuming it did.
composer require <vendor>/<package>:"^1.1"
# or, if already installed
composer update <vendor>/<package> --with-dependencies
composer.json of the package and check the illuminate/* / laravel/framework requirements now include ^13.0. A release note that says "support for Laravel 13" without a widened constraint is a red flag — verify before you plan an upgrade.php artisan vendor:publish --provider="Vendor\\Package\\PackageServiceProvider"
First use case: wire the package into one existing route or artisan command — not a new feature — and exercise it via php artisan tinker or a single feature test. That isolates upgrade breakage from new-code breakage, which matters on a framework-major release.
new. Inject the package's contract/class into constructors, or use its facade in a controller. This is what lets you swap in fakes and what keeps you insulated from constructor signature changes across minor releases.App\Contracts\Thing → package implementation registered in a service provider). For a package whose only 1.x signal is framework compatibility, this is your cheapest insurance against the next major.config/<package>.php with env() reads — not hardcoded at the call site. Keep .env.example in sync.composer update <vendor>/<package> --with-dependencies
php artisan config:clear && php artisan cache:clear
php artisan test
Run the full suite plus composer outdated --direct to catch transitive constraint conflicts the resolver papered over.Http::fake(), Bus::fake(), or the package's own fake if it ships one; assert on the interaction rather than the payload shape.php artisan config:clear before debugging anything else.bootstrap/cache/packages.php and run php artisan package:discover.composer.json between 1.0.x and 1.1.0 — that tells you whether this is a no-op for your current Laravel 12 app.laravel: 13.* job alongside your existing one before dropping the old one; run both for at least one release cycle.--display-warnings (or check storage/logs/laravel.log) after the bump so you catch framework deprecations early.vendor/ — a patched vendor file is invisible until the next composer update wipes it.composer.lock for the app; deploy with composer install --no-dev --optimize-autoloader, and run php artisan optimize post-deploy so config/route caches match the new version.php artisan about for framework/runtime context, Telescope for the actual call path, and Log::debug() at the adapter boundary to see what crosses into the package.How can I help you explore Laravel packages today?