New Features 🥳
- [TypeDeclarationDocblocks] Remove AstResolver usage on AddReturnDocblockFromMethodCallDocblockRector (#8195)
- [dx] Add "if" set with if/else/ternary rules (#8199)
- [DeadCode] Add RemoveDeadInstanceOfAssertRector (#8202)
- [DeadCode] Add RemoveDoubleSelfAssignRector (#8203)
- [DeadCode] Add RemoveParentDelegatingClassMethodRector (#8204)
- [DeadCode] Add RemoveDefaultValueFromAssignedPropertyRector (#8207)
- [TypeDeclaration] Fix incomplete type on yield variable + yield from in AddParamTypeBasedOnPHPUnitDataProviderRector (#8206)
Bugfixes 🐛
- Fix LogicalToBooleanRector: parenthesize assignments nested under unary/binary operators (#8184)
- Fix test: SetManagerTest (#8187)
- Allow dispatching Build Scoped Rector manually (#8188)
- [TypeDeclaration] Skip trait methods on ParamTypeByMethodCallType rules (#8189)
- [Php80] Skip promotion when property type is wider than constructor param on ClassPropertyAssignToConstructorPromotionRector (#8170), Thanks @ximki-vinki!
- [Php85] Skip outer spread on NestedFuncCallsToPipeOperatorRector (#8191)
- [DeadCode] Fix crash on float version arg in ConditionResolver (#8192)
- Make NestedFuncCallsToPipeOperatorRector minimum depth configurable (#8193)
- Fix codeception data provider detection (#8194), Thanks @d-mitrofanov-v!
- Make PHPStan DI-Container available in bootstrap files (#8190), Thanks @staabm!
- Bump ECS to ^13.2.13 and skip /SourcePhp81/ from apply (#8200)
- [Privatization] Skip Symfony Command protected static property in PrivatizeFinalClassPropertyRector (#8201)
- Bump to PHPStan ^2.2.6 and Fix its Container compatibility in RichParser (#8208)
Removed 💀
- skip @ return this on RemoveReturnTagIncompatibleWithNativeTypeRector on Traits (#8185)
- [DeadCode] Skip string scalar sub type on RemoveReturnTagIncompatibleWithNativeTypeRector (#8186)
- Remove StructArmed (#8205)
rectorphp/rector-symfony
- Remove StructArmed (#970)
- [Symfony73] Remove empty configure() method in CommandHelpToAttributeRector (#969)
- [Symfony73] Keep AbstractExtension when Twig extension overrides a built-in function/filter (#968)
- [Symfony73] Wrap scalar groups option in array in ConstraintOptionsToNamedArgumentsRector (#967)
- [Symfony61] Remove empty configure() method even with empty body (#966)
- [Symfony61] Remove now empty configure() method in CommandConfigureToAttributeRector (#965)
- [CodeQuality] Respect typeGuardedClasses and skip closure-only returns in ResponseReturnTypeControllerActionRector (#964)
- [Symfony44] Return 1 instead of (int) false in ConsoleExecuteReturnIntRector (#963)
- Rebuild scoped Rector after a pull request is merged (#962)
- [CodeQuality] Add union and method call return type support to ResponseReturnTypeControllerActionRector (#961)
- [Twig30] Add new set for Twig 30 (#960), Thanks @MrYamous
rectorphp/rector-doctrine
- Remove StructArmed (#488)
- [DataFixtures 17] add new set for doctrine data-fixtures 17 (#487), Thanks @MrYamous
rectorphp/rector-phpunit
- Remove StructArmed (#734)
- [PHPUnit 13] Add PHPUnit 13 config set (#733)
- [CodeQuality] Skip super global variables on AssertIssetToSpecificMethodRector (#732)
- Skip the rebuild when rector-src main is a release tag commit (#731)
- Rebuild scoped Rector after a pull request is merged (#730)
- [CodeQuality] Skip anonymous classes in AssertClassToThisAssertRector (#729)
- [CodeQuality] Move AssertClassToThisAssertRector hook from Class_ to ClassMethod (#728)
- AssertEqualsToSameRector: skip arrays whose actual value key order is not provably identical (#727)