picodexter/parameter-encryption-bundle
Encrypts request and URL parameters so sensitive values never travel in plain text. A simple bundle for PHP applications that helps protect IDs, tokens, and other data exposed in links, forms, or query strings.
v1.2.0 is a maintenance/tooling release, but it changes your runtime floor, so start there before touching any feature code.
php -v reports 7.1+ (the Travis matrix now defaults to 7.3) and that your composer.json require.php constraint is ^7.1 or higher. On Laravel versions still pinned to old PHP, stay on the previous package tag.composer update vendor/package
php artisan config:clear && php artisan cache:clear
src/Configuration.php (or the DependencyInjection/Configuration equivalent). The release fixes a TreeBuilder instantiation deprecation here, which is the one place the upgrade can change behaviour for anyone who subclasses or extends configuration.config/ — a TreeBuilder refactor occasionally shifts a node’s default or path.
php artisan vendor:publish --provider="Vendor\Package\PackageServiceProvider"
app(YourClass::class)) and make one representative call in php artisan tinker. Because the codebase now uses strict typing, this is the fastest way to surface any TypeError caused by passing integers as strings (very common when values come from config() or .env).Resolve from the container, don’t new things up. The package now declares strict_types=1, so constructor arguments must match their declared scalar types. Binding to interfaces in a service provider keeps the type contract in one place:
$this->app->singleton(YourContract::class, fn ($app) => new YourClass(
(int) config('package.timeout'), // cast config values explicitly
(array) config('package.options'),
));
Config-driven workflow. Keep tunables in config/package.php, but cast at the boundary ((int), (bool), (string)) — env() returns strings even for numeric-looking values, and strict typing will no longer coerce them for you.
Test with deprecations visible. The new symfony/phpunit-bridge dependency is the headline developer-facing addition. Use it to fail builds on deprecations that would otherwise be lost:
SYMFONY_DEPRECATIONS_HELPER=1 vendor/bin/phpunit
Set it to weak while you triage, max[direct]=0 once clean. This catches deprecations from the TreeBuilder family before they become hard breaks in a future major.
Upgrade your test base class. The package now requires PHPUnit 6.2+. If your suite still extends PHPUnit_Framework_TestCase, switch to PHPUnit\Framework\TestCase. In setUp()/tearDown() always call parent::setUp() — the newer base class enforces it in more places than before.
Extending configuration? If you override a Configuration class, mirror the fix landed in v1.2.0 and use the node-name-then-getRootNode() form rather than the deprecated positional TreeBuilder constructor:
$treeBuilder = new TreeBuilder('your_root');
$root = $treeBuilder->getRootNode();
Integration tip: register the provider via package discovery where supported; verify with php artisan about (Laravel 9+) or by dumping app()->getLoadedProviders().
$service->setLimit("10"), method(true) where an int was expected, null into a non-nullable scalar — now throw TypeError. Grep your call sites for values coming from config(), env(), request input, and database columns (all strings).\strlen() and \PHP_EOL are now fully qualified. If your tests mock or namespace-shadow global functions, re-run the suite rather than assuming parity.TreeBuilder deprecation fix: if you see Passing a tree builder name as first argument warnings, you're on an old subclass pattern — adopt new TreeBuilder('name') + getRootNode(). The deprecation was silenced internally in this release, so third-party extensions are the usual remaining source.error_reporting(-1) is set for the package's own tests, not yours. Don't infer that your app is configured that way; enable it deliberately in phpunit.xml if you want deprecations surfaced locally.TreeBuilder call signature, treat that as the migration surface.^1.1 can silently jump you into the new requirements. Lock the constraint and bump deliberately.How can I help you explore Laravel packages today?