Added
- Added
rector/rectoras a dev dependency along withtest:rector,fix:rector, andfix:standardsComposer scripts. - Added
phpstan/phpstan-deprecation-rulesto surface deprecation usage during static analysis. - Added
php-stubs/wordpress-stubsfor accurate WordPress type information in PHPStan. - Added
roave/security-advisoriesto block installation of dependencies with known security advisories. - Added
voidreturn type to activation and deactivation hook closures.
Changed
- Bumped minimum PHP version from
8.3to8.4. - Bumped
infinum/eightshift-libsfrom^11.0.4to^12.3.4(major upgrade). - Bumped
infinum/eightshift-coding-standardsfrom^3.0.0to^4.0.2(major upgrade). - Bumped
dealerdirect/phpcodesniffer-composer-installerfrom1.2.0to1.2.1. - Switched object instantiation to PHP 8.4 "new without parentheses" syntax:
(new Foo())->bar()→new Foo()->bar(). - Switched action callbacks to first-class callable syntax:
[$this, 'method']→$this->method(...). - PHPStan now scans the entire project root (with explicit excludes) and bootstraps WordPress stubs.
- PHPCS
testVersionraised from8.3-to8.4-. - Prettier
printWidthincreased from180to300.
Removed
- Removed redundant
@return voidPHPDoc tags now covered by native return types. - Removed
Generic.Files.LineLength.TooLongexclusion from PHPCS ruleset. - Removed
pestphp/pest-pluginfrom Composerallow-plugins. - Removed PHPStan
ignoreErrorsblock (no longer needed).
Migration guide
Upgrading from 6.x to 7.0.0 is a breaking change. Follow these steps:
- PHP version — ensure your server runs PHP
8.4+. Update yourcomposer.jsonrequire.phpconstraint to">=8.4". - Dependencies — bump in your project
composer.json:infinum/eightshift-libs:^12.0infinum/eightshift-coding-standards:^4.0- Then run
composer update.
- PHP 8.4 syntax — if you maintain a plugin based on a previous boilerplate version, run Rector to migrate object instantiation and callable patterns:
composer require --dev rector/rector composer fix:rector
- PHPStan config — add the deprecation rules include and WordPress stubs bootstrap to your
phpstan.neon.dist:includes: - vendor/phpstan/phpstan-deprecation-rules/rules.neon parameters: bootstrapFiles: - %rootDir%/../../php-stubs/wordpress-stubs/wordpress-stubs.php
- PHPCS config — raise
testVersionto8.4-inphpcs.xml.dist. - Strauss — re-run
composer prefix-namespacesafter updating to rebuild the prefixed vendor directory against the neweightshift-libsmajor. - Verify — run
composer test(Rector, PHPCS, PHPStan) and resolve any remaining issues before deploying.