New Features 🥳
- [CodeQuality] Add negated support on SingleInArrayToCompareRector (#5205)
- [Php83] Adds rule for adding Override attribute (#5170), Thanks @peterfox!
Bugfixes 🐛
- BinaryOpBetweenNumberAndStringRector don't trust phpdoc (#5199), Thanks @staabm!
- [CodeQuality][Php70] Handle LocallyCalledStaticMethodToNonStaticRector + ThisCallOnStaticMethodToStaticCallRector must change both method and caller (#5196)
- CountArrayToEmptyArrayComparisonRector: don't trust phpdoc (#5203), Thanks @staabm!
- [TypeDeclaration] Skip union false on NumericReturnTypeFromStrictScalarReturnsRector (#5204)
- [CodeQuality] Handle negated isset on IssetOnPropertyObjectToPropertyExistsRector on property not exists (#5206)
- [CodeQuality] Handle crash no scope on ThrowWithPreviousExceptionRector+OptionalParametersAfterRequiredRector (#5207)
- [NodeTypeResolver] Clean up TryCatch_ Scope filling (#5208)
- [PHPStanStaticTypeMapper] Clean up tweak false and bool check on UnionTypeMapper (#5209)
- [TypeDeclaration] Skip default numeric string on param int on ParamTypeByMethodCallTypeRector (#5210)
- [AutoImport] Handle AnnotationToAttributeRector + RenameClassRector then enable auto import (#5213)
- [Php80] Keep single quoted Argument Attribute on AnnotationToAttributeRector (#5214)
- [Php80] Keep single quoted key: 'value' on AnnotationToAttributeRector (#5215)
- [AutoImport] Ensure change to FullyQualified for Attribute on just changed from annotation (#5216)
- [Php52][Php70] Handle ContinueToBreakInSwitchRector + BreakNotInLoopOrSwitchToReturnRector (#5217)
- [Php80] Handle RenameClassRector+AnnotationToAttributeRector with auto import and existing attribute defined (#5219)
- [Testing] In case of failed test using multiple rules, show applied Rector rules to make easy to find them (#5222)
- [NodeTypeResolver] Handle nullable extended class on ->isObjectType() on DowngradeReflectionGetAttributesRector (#5224)
- NullableCompareToNullRector: Don't trust phpdocs (#5225), Thanks @staabm!
- [CodingStyle] Move ArraySpreadInsteadOfArrayMergeRector from php74 to codingstyle sets list (#5230)
- [PostRector] Ensure old classes in use statements cleaned up after rename attribuet on ClassRenamingPostRector (#5231)
- RestoreDefaultNullToNullableTypePropertyRector: skip
@readonly
phpdoc (#5233), Thanks @staabm! - [AutoImport] Handle DeclareStrictTypesRector on importNames() enabled on no namespace (#5241)
- [AutoImport] Allow auto import just renamed @var only docblock on RenameClassRector without removeUnusedImports() enabled (#5220)
- Remove rule DataProviderArrayItemsNewlinedRector.php (#5227), Thanks @eerison!
- Remove
ArraySpreadInsteadOfArrayMergeRector
fromLevelSetList::UP_TO_PHP_74
(#5228), Thanks @staabm! - [DeadCode] Allow indirect duplicated grouping on RemoveDuplicatedCaseInSwitchRector (#5234)
- [DeadCode] Reduce double loop on RemoveDuplicatedCaseInSwitchRector (#5235)
- [DeadCode] Handle different indirect duplicated on RemoveDuplicatedCaseInSwitchRector (#5236)
- [DeadCode] Ensure change hasChanged flag on RemoveDuplicatedCaseInSwitchRector (#5237)
- [DeadCode] Handle repetitive jump equal case stmts on RemoveDuplicatedCaseInSwitchRector (#5239)
- Rename parameter variable to nextCase on RemoveDuplicatedCaseInSwitchRector (#5244)