New Features and Improvements 🥳
- [build] Remove duplicated phpstan/phpstan from the build, as require by build package in composer.json already (rectorphp/rector-src@51ed7b6)
- AddParamTypeBasedOnPHPUnitDataProviderRector: Check all data providers (#5068), Thanks @jlherren!
- AddParamTypeBasedOnPHPUnitDataProviderRector: Enhance existing rule to handle PHPUnit 10+ DataProvider Attribute (#4925), Thanks @mcampbell508!
- make PhpDocInfo::findByAnnotationClass() public to use in Symfony rules (#5103)
Bugfixes 🐛
- Feature/fix class annotation bad print (#5081), Thanks @etshy!
- [Performance] Avoid ReflectionProvider check function exists on NameImportingPostRector (#5083)
- InlineConstructorDefaultToPropertyRector Readonly Class (#5085), Thanks @beschoenen!
- [CodeQuality] Handle crash on variable variable on assign closure on OptionalParametersAfterRequiredRector (#5089)
- [NodeTypeResolver] Use isScalar()->yes() usage on StaticTypeAnalyzer and ScalarTypeComparator services (#5099)
- [ProcessAnalyzer] Ensure instanceof Stmt on check infinite loop on not yet has "created_by_rule" attribute (#5100)
- [DX] Rename shouldImportName() to shouldSkipName() on ClassNameImportSkipper (#5107)
- The ReturnTypeFromReturnNewRector must only handle new instances, to avoid leaking to everything (#5115)
- [Php80] Skip when already implements Stringable and has string return type on StringableForToStringRector (#5120)
Removed and Deprecated 💀
- [DX] Remove CurrentFileProvider dependency on ChangedNodeScopeRefresher (#5087)
- [DX] Remove DependencyClassMethodDecorator as not used anymore due to paralel nature (#5094)
- [PostRector] Remove CurrentFileProvider on PostFileProcessor (#5097)
- [Comments] Remove unused copy Node object on CommentRemover (#5103)
- [Performance][AutoImport] Remove just renamed check on ClassNameImportSkipper (#5106)
- Deprecate CountOnNullRector as depends on previous context and require manual adjustment of previous result (#5101)