grasmash/expander
Expander is a Laravel package for managing feature rollouts and gating functionality. It helps you define “expansions” that can be enabled per environment, user, or percentage, making it easy to ship safely, run experiments, and toggle features without redeploys.
Major modernization release. Requires PHP 8.2+.
['a' => 'x${b}', 'b' => 'y${a}']) previously grew unboundedly until the process crashed. Expansion is now capped at 25 passes / 1 MiB per value.${env.*} placeholders no longer read HTTP_* keys from $_SERVER — in a web context those originate from client-supplied request headers, not the environment.VAR=0 previously failed a truthiness check and left the placeholder unexpanded.true became "1"). Types are now preserved.strict_types=1, with full parameter and return type declarations.StringifierInterface::stringifyArray() is now an instance method rather than a static method. Custom implementations and static callers must update.Expander::expandArrayProperties() requires $reference_array to be an array.Expander::expandPropertyWithReferenceData() returns mixed instead of ?string.^10.5 || ^11 || ^12 || ^13, phpstan level 5, PHP_CodeSniffer ^3.13 || ^4.0.composer audit step.Full changelog: https://github.com/grasmash/expander/compare/3.0.1...4.0.0
Full Changelog: https://github.com/grasmash/expander/compare/3.0.0...3.0.1
Full Changelog: https://github.com/grasmash/expander/compare/2.0.3...3.0.0
Support psr/log 2.
Full Changelog: https://github.com/grasmash/expander/compare/2.0.0...2.0.1
Initial release.
How can I help you explore Laravel packages today?