iserranodev/encrypt-bundle
iserranodev/encrypt-bundle provides simple, reusable encryption and decryption support for PHP applications. It wraps common crypto operations in a clean API, helping you protect sensitive values with minimal boilerplate and integrate secure data handling into your app quickly.
Confirm what the bump actually unlocks. The only change in 1.3.1 is a dependency constraint update ("for use it in Symfony 7.*"). Before adopting, read composer.json on the 1.3.1 tag and compare the require block against 1.3.0 — that diff, not the changelog, tells you whether the package now permits symfony/*: ^7.0 alongside ^6.4, or has dropped Symfony 6 support. A widening constraint is safe; a replacement is a breaking change for anyone on Laravel 10.
Install and let auto-discovery do its job.
composer require <vendor>/<package>:^1.3
php artisan about # sanity-check the framework + PHP versions it resolved against
If the package ships a service provider, Laravel's package discovery registers it. Check bootstrap/providers.php (Laravel 11) or config/app.php (10 and below) only if discovery is disabled in the package's composer.json extra.laravel block.
Look here first, in this order: the package's README usage snippet → src/ service provider (what it binds, what it publishes) → config/<package>.php after php artisan vendor:publish --tag=<package>-config. The provider is the map of every extension point you'll actually touch.
First use case: get the happy path working end-to-end on a throwaway branch before wiring it into anything real — resolve the class from the container (app(SomeClient::class)) rather than new, so you immediately learn whether the binding is a singleton, a factory, or request-scoped.
app/Services/<Something>Service.php that owns the package calls. When 1.4 or 2.0 lands — or when you swap the package out — you change one file instead of grepping 40 call sites.config/<package>.php, not from code. Publish the config, keep secrets in .env, and reference them via env() only inside the config file (never in application code — env() returns null once config:cache runs).$tries/$backoff set explicitly, and use Http::retry()-style semantics via the package if it exposes them rather than wrapping a bare try/catch.TestCase::setUp() or use the package's own testing helpers if the README documents them. If it offers no fake, bind a stub in the container inside your test — that's also the cheapest way to discover whether the package is container-friendly."^1.3" in composer.json and let composer.lock do the pinning. Commit the lockfile change from the 1.3.1 upgrade as its own PR so CI surfaces any Symfony 7 resolution surprise in isolation.^7.0 only, the package silently raises your PHP floor. Confirm your CI matrix and any platform.php config in composer.json before merging.^6.4 || ^7.0) is the ideal outcome here — verify the constraint is a union, not a swap. Laravel 9 users are almost certainly out of scope now.composer why-not. If composer require refuses, composer why-not <vendor>/<package> 1.3.1 and composer why symfony/http-foundation will point at the conflicting package far faster than reading error walls.php artisan config:clear && php artisan cache:clear (or optimize:clear) before concluding something broke — stale compiled config is the most common false alarm.Macroable traits, container bind/singleton calls in the provider, published config keys, and any dispatched events. Those four are where you customise without forking, which is what keeps you off a pinned old version when the next release lands.composer outdated afterwards — a widened Symfony constraint often means other packages in the same dependency family are now also upgradable, and it's cheaper to do that sweep in one PR than three.How can I help you explore Laravel packages today?