elhebert/laravel-sri
elhebert/laravel-sri adds Subresource Integrity to your Laravel app: it generates cryptographic hashes for your CSS and JS assets and injects them into script and link tags, so browsers can verify files haven't been tampered with—especially useful when serving assets via a CDN or third party.
composer require <vendor>/<package>:^3.5. Version 3.5.0 is the first line that declares Laravel 13 support, so if you're on Laravel 13 this is your minimum constraint; on Laravel 11/12 any 3.x release will do.composer.json — check the illuminate/support / illuminate/contracts constraints and the extra.laravel.providers entry that drives auto-discovery.README.md — the canonical quickstart; the install snippet is usually the only thing that changes between minor releases.src/ServiceProvider.php — tells you what is bound into the container, what is publishable, and which config keys actually exist.CHANGELOG.md / PR #106 — confirm whether the Laravel 13 bump also relaxed or tightened any dependency constraints.php artisan vendor:publish --provider="Vendor\Package\PackageServiceProvider" (or --tag=package-config), set the env vars the config file references, then exercise the package's headline feature once in php artisan tinker. Validate the integration end-to-end before touching your real app.config/package.php + .env entries rather than calling setters at runtime. This keeps the package compatible with config:cache and makes per-environment behaviour explicit.new: inject the package's contract/class into constructors or resolve via app(...) inside service providers and jobs. That keeps you swappable if you later bind a fake or decorator in tests.App\Providers\PackageServiceProvider that calls parent::register() semantics, then applies your bindings and macro registrations. Keeps package wiring out of AppServiceProvider.RefreshDatabase in your own suite so a future 4.x bump surfaces breakage in CI rather than production.^3.5 in the app that targets Laravel 13, and keep the constraint wide (^3.0) for shared libraries so downstream apps on Laravel 11/12 are not forced forward. Only the Laravel 13-targeting app needs the 3.5 floor.composer.json plus test-matrix changes.illuminate/* to ^10|^11|^12|^13 can silently pull in a newer transitive dependency. Run composer update --dry-run first, and commit composer.lock for apps.config:cache: if bindings behave differently between php artisan serve and a cached deploy, you almost certainly registered something conditionally in a provider that runs before config is available. Check php artisan about and clear with php artisan optimize:clear.vendor:publish won't overwrite existing files, so a 3.5.0 config change (if any) won't reach you. Diff vendor/.../config/package.php against config/package.php after every minor bump; use --force deliberately, never habitually.composer install. Use Log::channel(...) in a wrapper or a listener, and pair with Telescope for query/event inspection.Macroable traits on the package's classes, and any dispatched events. Any of these lets you customise behaviour without patching vendor code — and patching vendor code is what will break you at 4.0.How can I help you explore Laravel packages today?