friendsofphp/php-cs-fixer
PHP CS Fixer automatically fixes PHP code to match coding standards. Use built-in rule sets like @PER-CS, @Symfony, or @PhpCsFixer, or define your own config. Helps modernize code for newer PHP and PHPUnit. Supports PHP 7.4–8.5.
NoUnusedImportsFixer - do not remove constant types by @kubawerlos in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9442AttributeBlockNoSpacesFixer - skipping some attributes when multiple present by @keradus in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9445PhpdocLineSpanFixer - handle unions and intersections in properties by @paulbalandan in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9438Full Changelog: https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.94.1...v3.94.2
ArgumentsAnalyzer by @kubawerlos in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9422Full Changelog: https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.94.0...v3.94.1
JACKPOT 7️⃣7️⃣7️⃣7️⃣! Yes, parallel runner was available for a while, but was marked as experimental feature. Not anymore! Even better: we made it the default runner now 🥳! It's great opportunity to share your stories about performance boost you got in your QA processes - let us know how parallel runner impacted your workflows, pipelines and day-to-day tasks 😁.
--stop-on-violation by @Copilot / @Wirone in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9393PhpUnitTestCaseStaticMethodCallsFixer - add PHPUnit 13 assertions by @kubawerlos in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9410VoidReturnFixer - allow to skip lambdas by @keradus in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9417case to phpdoc_line_span fixer by @Kocal in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9391PhpdocLineSpanFixer - support docs for classes, trait usages and other code lines by @gharlan in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/8832VoidReturnFixer - better describe exceptions by @keradus in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9418NoUnreachableDefaultArgumentValueFixer - fix for closures by @kubawerlos in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9409UseArrowFunctionsFixer - do not convert closure in attribute by @kubawerlos in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9416Full Changelog: https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.93.1...v3.94.0
ErrorOutput - do not show "begin diff"/"end diff" when there is no diff by @kubawerlos in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9361UseArrowFunctionsFixer - don't convert lambda with use($var) clause if it includes another file by @Copilot in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9389Full Changelog: https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.93.0...v3.93.1
[@PHP7x0MigrationRisky](https://github.com/PHP7x0MigrationRisky) - update configuration of RandomApiMigrationFixer to match it's newly updated v4 defaults by @keradus in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9368[@Symfony](https://github.com/Symfony):risky - extend set with modern_serialization_methods by @keradus in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9366[@Symfony](https://github.com/Symfony):risky - extend set with static_lambda by @keradus in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9365[@Symfony](https://github.com/Symfony) - enable no_unneeded_control_parentheses.statements.negative_instanceof by @keradus in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9336[@Symfony](https://github.com/Symfony) - extend set with no_useless_else by @keradus in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9363[@Symfony](https://github.com/Symfony) - extend set with no_useless_return by @keradus in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9364RandomApiMigrationFixer - allow to convert mt_getrandmax and mt_srand by @keradus in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9367ModernSerializationMethodsFixer by @kubawerlos in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9108NoRedundantReadonlyPropertyFixer by @jack-worman in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9339PhpdocTypesNoDuplicatesFixer by @FeBe95 in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9312--config=- by @keradus in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9379[@see](https://github.com/see) tags in FullyQualifiedStrictTypesFixer by @mspirkov in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9350[@Symfony](https://github.com/Symfony) set by @keradus in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9303braces_position rule by @mspirkov in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9329php_unit_test_case_static_method_calls from PHPUnit sets by @keradus in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9341ModifierKeywordsFixer - closure in attribute by @kubawerlos in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9358NoUselessElseFixer - handle conditional symbol declarations by @gharlan in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9347OrderedClassElementsFixer - closure in attribute by @kubawerlos in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9357PhpUnitAttributesFixer - do not add for annotation [@testWith](https://github.com/testWith) when attribute TestWith already present by @kubawerlos in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9354[@return](https://github.com/return) annotations to Config by @mspirkov in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9337assign.propertyType error from PHPStan by @gharlan in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9332phpstan:baseline command by @gharlan in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9346Full Changelog: https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.92.5...v3.93.0
variable.undefined error from PHPStan by @gharlan in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9330CombineConsecutiveUnsetsFixer - proper handling of trailing comma by @keradus in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9335Full Changelog: https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.92.4...v3.92.5
ComposerJsonReader - handle more syntaxes by @keradus in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9327Full Changelog: https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.92.3...v3.92.4
.php-cs-fixer.dist.php - drop wrongly called ignoreVCSIgnored by @keradus in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9310.php-cs-fixer.dist.php by @keradus in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9311Full Changelog: https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.92.2...v3.92.3
PHP_CS_FIXER_IGNORE_MISMATCHED_RULES_EXCEPTIONS by @keradus in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9307[@php-cs-fixer-ignore](https://github.com/php-cs-fixer-ignore) accept custom fixer names by @mlocati in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9306Full Changelog: https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.92.1...v3.92.2
testFix* methods have second parameter $input by @kubawerlos in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9297testFix* methods have no more than 4 parameters by @kubawerlos in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9298$config to $configuration by @kubawerlos in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9299WhitespacesFixerConfig in tests by @kubawerlos in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9300testFix* parameter names by @kubawerlos in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9301ProjectCodeTest::testExpectedInputOrder - move checks for testFix... methods by @keradus in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9291Full Changelog: https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.92.0...v3.92.1
We will take you for a little journey to the past... It's October 4th, 2017. Fixer v2.7.1 (🤯) was released 2 days ago. Suddenly, @mlocati requests path-aware rule sets... not knowing he will eventually implement this only 8 years later 😅.
Back to the present, Fixer now can dynamically change its configured behaviour either by using [@php-cs-fixer-ignore](https://github.com/php-cs-fixer-ignore), or by implementing RuleCustomisationPolicyInterface and using it via ->setRuleCustomisationPolicy() in config file 💥!
You can read more about it here, but please keep in mind that this feature at this point is considered experimental, and as such it is not covered by the backward compatibility promise. Feel free to experiment with this feature, though, and let us know what you think!
[@php-cs-fixer-ignore](https://github.com/php-cs-fixer-ignore) annotation by @keradus in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9280Rule Customisation Policy by @mlocati in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9107PhpUnitTestCaseStaticMethodCallsFixer - add handling of getStubBuilder by @keradus in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9276PhpUnitTestCaseStaticMethodCallsFixer - add target option by @kubawerlos in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/8498.php-cs-fixer.dist.php - remove no longer needed rule, 'expectedDeprecation' annotation does not exist for long time by @keradus in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9266Config::getFinder() - fix typehinting by @keradus in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9288arguments.count error from PHPStan by @kubawerlos in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9258generator.valueType error from PHPStan by @kubawerlos in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9259plus.*NonNumeric errors from PHPStan by @kubawerlos in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9260Runner - better input types handling by @keradus in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9286testFix* methods have first parameter $expected by @kubawerlos in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9289ProjectCodeTest - refactor testExpectedInputOrder test by @keradus in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9290Rule Customisation Policy - better error message for wrong customisers by @keradus in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9279Rule Customisation Policy - prevent policy without version by @keradus in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9278Full Changelog: https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.91.3...v3.92.0
Full Changelog: https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.91.2...v3.91.3
PHP_CS_FIXER_IGNORE_ENV for PHP 8.6 by @kubawerlos in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9254Full Changelog: https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.91.1...v3.91.2
describe command works well for custom sets by @keradus in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9246Full Changelog: https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.91.0...v3.91.1
StringableForToStringFixer by @santysisi in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9218/vendor/ anymore by @keradus in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9230.php-cs-fixer.php-highest.php to fully reflect PHP 8.4 by @keradus in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9233DeclareStrictTypesFixer - do not duplicate strict_types if it is already present, with other directive by @kubawerlos in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9225FullyQualifiedStrictTypesFixer - fix crash on T_OPEN_TAG_WITH_ECHO by @keradus in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9217Full Changelog: https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.90.0...v3.91.0
[@PHPXxYMigration](https://github.com/PHPXxYMigration)(:risky) sets for supported PHP versions by @keradus in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9207[@param](https://github.com/param) type when description starts with all-uppercase word by @mmarseu in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9169describe command - allow to expose rules without sets via @- alias by @keradus in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9178testInvalidConfiguration methods by @kubawerlos in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9206describe command - allow to visualize Set as tree by @keradus in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9179.php-cs-fixer.php local config file docs by @keradus in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9185tearDown into assertPostConditions to fix Test code or tested code did not remove its own error handlers warning by @keradus in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9182.php-cs-fixer.dist.php file by @keradus in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9177Full Changelog: https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.89.2...v3.90.0
NoUnneededBracesFixer - do not crash on multiline group import by @icarus94 in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9160Full Changelog: https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.89.1...v3.89.2
cookbook_fixers.rst by @kubawerlos in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9162phpcompatibility/* to alpha of next MAJOR instead of using dev branch, plus other minor upgrades by @keradus in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9163Full Changelog: https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.89.0...v3.89.1
NoUnneededBracesFixer - remove unneeded braces from imports by @kubawerlos in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9118FullyQualifiedStrictTypesFixer - replacing the real FQCN with a non-existent one by @mspirkov in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/8962PhpdocToCommentFixer on property hooks by @Kinqdos in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9123PhpUnitMethodCasingFixer to not cause a duplicate method declaration by @jack-worman in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9124StaticLambdaFixer - do not make function static when it contains anonymous class having $this in the constructor by @danog in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9088UseArrowFunctionsFixer - do not produce two consecutive whitespace tokens by @kubawerlos in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9151assert calls by @kubawerlos in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9144shipmonk/composer-dependency-analyser instead of icanhazstring/composer-unused and maglnet/composer-require-checker by @kubawerlos in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9106[@autoPHPUnitMigration](https://github.com/autoPHPUnitMigration):riskyset by @keradus in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9147NoTrailingWhitespace* fixers by @kubawerlos in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9117@ by @pereorga in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9119composer qa script by @Wirone in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9138--option value => --option=value by @keradus in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9131RunnerTest for MacOS by @Wirone in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9139Full Changelog: https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.88.2...v3.89.0
php-cs-fixer describe [@auto](https://github.com/auto) --expandphp-cs-fixer describe [@] [--expand]Full Changelog: https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.88.1...v3.88.2
yamllint locally by @Wirone in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9093[@auto](https://github.com/auto):risky by @keradus in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9102Full Changelog: https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.88.0...v3.88.1
Fixer Team is more than happy to announce that @gharlan joined us as a maintainer and puts awesome effort when it comes to providing changes, reviewing PRs and other activities 🎉! Can we get a YEAH?
Full list of changes can be found below, but we would really like to emphasise some of them:
[@auto](https://github.com/auto)[:risky] rulesets that can automatically enable some rulesets depending on your project's setup.[@auto](https://github.com/auto)[:risky] ;) !In addition, starting with v3.88.2, you can also:
php-cs-fixer describe [@auto](https://github.com/auto) --expandphp-cs-fixer describe [@] [--expand][@auto](https://github.com/auto), [@auto](https://github.com/auto):risky sets by @keradus in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9090[@autoPHPMigration](https://github.com/autoPHPMigration), [@autoPHPMigration](https://github.com/autoPHPMigration):risky, [@autoPHPUnitMigration](https://github.com/autoPHPUnitMigration):risky sets by @keradus in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9068symfony ruleset: Add [@const](https://github.com/const) to phpdoc_no_alias_tag by @mvorisek in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9016MAJORMINOR and MAJOR.MINOR into MAJORxMINOR by @keradus in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9005visibility_required into modifier_keywords by @keradus in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/8995BlankLinesBeforeNamespaceFixer - handle namespace without newline before by @gharlan in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9059getcwd() - ignore false return value by @gharlan in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9057ReporterFactory - use class-string type by @gharlan in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9055array_values() by @gharlan in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9054.php-cs-fixer.well-defined-arrays.php by @keradus in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/8987argument.type errors by @gharlan in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9056internal usage errors by @gharlan in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9063class-string usages by @gharlan in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/8968push event only for master branch by @gharlan in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9046push event only for master branch by @gharlan in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9050CHANGELOG.md by @kubawerlos in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9052ergebnis/composer-normalize from 2.48.1 to 2.48.2 in /dev-tools by @dependabot[bot] in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9045phpstan/phpstan from 2.1.25 to 2.1.28 in /dev-tools in the phpstan group by @dependabot[bot] in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9072phpstan-baseline-per-identifier by @gharlan in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9051squizlabs/php_codesniffer to v4.0 and other related packages by @keradus in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9075infection/infection to ^0.31.0 by @Copilot in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9079RuleSetDescriptionInterface into RuleSetDefinitionInterface by @keradus in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9094compose.yaml by @keradus in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9076compose.yaml and release.yml by @keradus in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9071Full Changelog: https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.87.2...v3.88.0
DocumentationCommandTest::testGeneratingDocumentation() as large test by @Wirone in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9028phpdoc_to_param_type, phpdoc_to_return_type, phpdoc_to_property_type - handle type aliasing before handling PHP version by @keradus in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9031--sequential when facing fixing error by @keradus in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9023Full Changelog: https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.87.1...v3.87.2
AbstractProxyFixer - require non-empty list of proxy fixers by @gharlan in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9010Full Changelog: https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.87.0...v3.87.1
[@PHP85Migration](https://github.com/PHP85Migration) set by @keradus in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/8941PhpdocTagNoNamedArgumentsFixer by @kubawerlos in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/8906path CLI argument by @keradus in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/8923[@PhpCsFixer](https://github.com/PhpCsFixer) set towards new defaults of selected rules by @keradus in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/8981PhpdocOrderFixer when phpstan- / psalm- order is specified by @acoulton in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/8853PhpdocOrderFixer - do not allow duplicated tags in configuration by @kubawerlos in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/8945vendor/bin/phpunit --check-php-configuration by @kubawerlos in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/8934DocBlockAnnotation trait by @kubawerlos in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/8953NoUnneededControlParenthesesFixer - add tests for "clone with" by @kubawerlos in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/8937PhpdocNoAliasTagFixerTest - add test for [@const](https://github.com/const) to [@var](https://github.com/var) by @kubawerlos in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/8998PhpdocOrderFixer - calculate order only once by @kubawerlos in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/8944_PhpTokenArray usages by @gharlan in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/8947OrderedClassElementsFixer - use private method instead of anonymous function by @gharlan in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/8931CheckCommand - use regex instead of explode & substr by @gharlan in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/8936ClassAttributesSeparationFixer - improve code by @gharlan in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/8950token_get_all by @gharlan in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/8963EregToPregFixer - use constant instead of static property by @gharlan in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/8978Annotation::getTagsWithTypes in favor of TAGS_WITH_TYPES constant by @gharlan in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/8977AbstractPhpdocTypesFixer - remove $tags property by @gharlan in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/8980non-empty-list where appropriate by @gharlan in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/8972.gitignore by @keradus in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/8982ci-integration.sh by @keradus in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/8989JSON_THROW_ON_ERROR by @keradus in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/8993Tokens - override nullability of SplFixedArray by @gharlan in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9001multiline_string_to_heredoc by @gharlan in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9002Tokens::offsetSet - explicit validation of input by @keradus in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9004PhpUnitDedicateAssertFixer - improve code for phpstan by @gharlan in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9011FullyQualifiedStrictTypesFixer - ensure matching number of opening/closing braces by @gharlan in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9009get_debug_type and ::class in exception messages by @gharlan in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9006PhpdocParamOrderFixer - improve/simplify code by @gharlan in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/9012FAST_LINT_TEST_CASES into PHP_CS_FIXER_FAST_LINT_TEST_CASES by @keradus in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/8992php-cs-fixer/accessible-object by @kubawerlos in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/8948README.md and CONTRIBUTING.md by @gharlan in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/8974Full Changelog: https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.86.0...v3.87.0
NoSuperfluousPhpdocTagsFixer - support multiline array shapes by @kubawerlos in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/8903PER-CS3.0 rulsets by @gharlan in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/8841[@Symfony](https://github.com/Symfony) and [@PhpCsFixer](https://github.com/PhpCsFixer) sets by @keradus in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/8930[@phpstan-ignore](https://github.com/phpstan-ignore) for php version check by @gharlan in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/8920PhpUnitTestAnnotationFixer - use foreach instead of for by @gharlan in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/8911Reflection*::setAccessible() in PHP >= 8.1 by @W0rma in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/8907[@todo](https://github.com/todo) annotation casing by @keradus in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/8921Full Changelog: https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.85.1...v3.86.0
Full Changelog: https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.85.0...v3.85.1
ArrayIndentationFixer - handle closures inside attributes by @gharlan in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/8888NullableTypeDeclarationFixer - support final promoted properties by @kubawerlos in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/8885OperatorLinebreakFixer - support pipe operator by @kubawerlos in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/8891PhpdocTypesFixer - support multiline array shapes by @kubawerlos in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/8893BracesPositionFixer - handle property hooks correctly by @kubawerlos in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/8886NullableTypeDeclarationFixer - handle abstract and final properties by @kubawerlos in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/8876PhpdocLineSpanFixer - handle promoted properties by @gharlan in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/8897PhpUnitDataProviderNameFixer - fix for multiple providers defined by attributes for one test method by @kubawerlos in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/8849TernaryOperatorSpacesFixer - handle instanceof static by @gharlan in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/8879TypeDeclarationSpacesFixer - handle asymmetric visibility and final properties by @kubawerlos in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/8900OrderedInterfacesFixer - make code more PHPStan friendly by @gharlan in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/8866Token - add [@phpstan-assert-if-true](https://github.com/phpstan-assert-if-true) by @gharlan in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/8865PhpdocTypesFixer for multiline array shapes by @kubawerlos in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/8894PhpCsFixer\DocBlock\Annotation by @kubawerlos in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/8892booleanNot.exprNotBoolean errors by @gharlan in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/8869[@var](https://github.com/var) annotations by @gharlan in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/8867ClassDefinitionFixer by @gharlan in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/8868Preg::match by @gharlan in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/8872ErrorsManager by @gharlan in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/8863Full Changelog: https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.84.0...v3.85.0
VisibilityRequiredFixer - support final promoted properties by @gharlan in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/8835isGivenKind/equals/equalsAll calls by @gharlan in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/8843PhpdocToParamTypeFixer - do not convert types from phpstan-type, phpstan-import-type, psalm-type and psalm-import-type by @kubawerlos in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/8842NoUselessPrintfFixer by @paulbalandan in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/8820NewExpressionParenthesesFixer - add to PHP84MigrationSet by @gharlan in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/8788PhpdocToReturnTypeFixer - do not convert types from phpstan-type, phpstan-import-type, psalm-type and psalm-import-type by @kubawerlos in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/8846PhpdocToPropertyTypeFixer - do not convert types from phpstan-type, phpstan-import-type, psalm-type and psalm-import-type by @kubawerlos in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/8847CastSpacesFixer - support (void) cast by @kubawerlos in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/8851Full Changelog: https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.83.0...v3.84.0
NoUnreachableDefaultArgumentValueFixer - do not crash on property hook by @gharlan in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/8838FullyQualifiedStrictTypesFixer - reduce function calls by @gharlan in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/8834Full Changelog: https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.82.2...v3.83.0
ClassAttributesSeparationFixer - handle method get aliased in trait import by @kubawerlos in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/8822VisibilityRequiredFixer - handle promoted property with visibility and reference, but without type by @kubawerlos in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/8823LowercaseStaticReferenceFixer - do not touch enum's cases by @kubawerlos in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/8824StatementIndentationFixer - multi constant statement containing array by @gharlan in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/8825Full Changelog: https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.82.1...v3.82.2
SingleClassElementPerStatementFixer - fix for property hooks by @kubawerlos in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/8816OrderedClassElementsFixer - handle property hooks by @kubawerlos in https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/8817Full Changelog: https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.82.0...v3.82.1
How can I help you explore Laravel packages today?