New Features 🎉
- [Renaming] Handle Rename before AttributeGroup on RenameClassRector (#1481), Thanks @samsonasik!
- [DowngradePhp80] Add DowngradeReflectionPropertyGetDefaultValueRector (#1486), Thanks @samsonasik!
- [PHP 8.0] Add Annotation to ORM entity nested support (#1520)
- [Doctrine] Remove join columns on both PHP 8 and PHP 8.1 (#1525)
- [DowngradePhp80] Add DowngradeReflectionClassGetConstantsFilterRector (#1529), Thanks @samsonasik!
Changes ➡️
- [TypeDeclaration] Improve PropertyTypeDeclarationRector to work with strict types (#1494)
- [TypedPropertyRector] Remove private property only, to keep other rules work separately (#1496)
- [TypeDeclaration] Decouple TypedPropertyFromAssignsRector (#1498)
- [TypeDeclaration] Remove CompleteVarDocTypePropertyRector, is handled by split rules (#1500)
- [TypeDeclaration] Improve assign/constructor rules (#1499)
- Move DoctrineColumnPropertyTypeInferer rector-doctrine package (#1506), Thanks @samsonasik!
- Move DoctrineRelationPropertyTypeInferer to rector-doctrine (#1507)
Bugfixes 🐛
- [DowngradePhp81] Handle New_ inside array on DowngradeNewInInitializerRector (#1508), Thanks @samsonasik!
- [PHP 8.1] Fix IntersectionTypesRector for non-object types (#1495)
- [PHP 8.0] Handle abstract method on StringableForToStringRector (#1483), Thanks @samsonasik!
- [NodeTypeResolver] Add cast (float), (string), (int) back on ScalarTypeResolver (#1484), Thanks @samsonasik!
- [NodeTypeResolver] Fix undefined method ReflectionProperty::getDefaultValue() on php 7.x (#1482), Thanks @samsonasik!
- [Privatization] Skip protected property used in parent class on PrivatizeFinalClassPropertyRector (#1501), Thanks @samsonasik!
- [DeadCode] Skip parent not found on RemoveParentCallWithoutParentRector (#1510), Thanks @samsonasik!
- [Php80] Handle Alias is used as Attribute on AnnotationToAttributeRector (#1511), Thanks @samsonasik!
- [DowngradePhp74] Handle ArrowFunctionToAnonymousFunctionRector inside CallLike + preserve byRef (#1514), Thanks @samsonasik!
- [Php80] Handle double quoted sql statement annotation on AnnotationToAttributeRector (#1516), Thanks @samsonasik!
- [CodingStyle] Fix static to dynamic override in static method (#1518)
- [Php80] Handle case mixed up default in first case+middle case on ChangeSwitchToMatchRector (#1538), Thanks @samsonasik!
- [DeadCode] Handle parent:: call with assign when no parent on RemoveParentCallWithoutParentRector (#1531), Thanks @samsonasik!
- [DowngradePhp74][DowngradePhp80] Apply ternary with method_exists on DowngradeReflectionGetTypeRector + DowngradeReflectionGetAttributesRector (#1530), Thanks @samsonasik!