New Features 🥳
- Move Rector Laravel to the community (#3019) - thanks to @driftingly for taking package further 👏
- [CodeQuality] Add TernaryEmptyArrayArrayDimFetchToCoalesceRector (#3027)
- NullToStrictStringFuncCallArgRector - Register a few more functions (#2994), Thanks @craigfrancis!
- Update all classlike pseudo rector (#3002), Thanks @webmaster777!
- Register Ctype functions (#3008), Thanks @bkosun!
- Compatibility with BetterReflection 6.x (#2999), Thanks @ondrejmirtes!
Bugfixes 🐛
- [CodeQuality] Skip different array_filter value on SimplifyEmptyArrayCheckRector (#3000)
- [CodeQuality] Skip different value left and right on SimplifyEmptyArrayCheckRector (#2998)
- [Php70] Handle crash on First class callable on ThisCallOnStaticMethodToStaticCallRector (#3003)
- [Down_To_PHP71] Handle Downgrade Param Widening + Downgrade Reflection Get on DowngradeLevelSetList::DOWN_TO_PHP_71 (#3001)
- Add real path to filePaths when not false (#3004), Thanks @jamwid07!
- [DeadCode] Handle RemoveUnusedPrivateMethodRector+RemoveDuplicatedIfReturnRector when private method used in FuncCall with ArrowFunction (#3007)
- [Php80] Handle crash on extends \mysqli on AddParamBasedOnParentClassMethodRector (#3009)
- [Php80] Skip callable type different definition on ClassPropertyAssignToConstructorPromotionRector (#3010)
- [EarlyReturn] Handle crash on RemoveAlwaysElseRector+ReturnEarlyIfVariableRector (#3011)
- [DeadCode] Handle crash on has first class callable on RemoveUnusedConstructorParamRector (#3015)
- [Php80] Handle nested annotation not end with () on AnnotationToAttributeRector (#3017)
- [TypeDeclaration] Skip intersection with iterable on ReturnTypeDeclarationRector on php 8.1 feature enabled (#3022)
- InlineConstructorDefaultToPropertyRector fix code example (#7465) (#3028), Thanks @GeniJaho!
- [Php81] Skip on Array Destructuring on ReadOnlyPropertyRector (#3030)