In this release we continue preparing for Rector 1.0 release #7854
This includes removing last parent node connections, to lower node tree memory consumption 🥳️🥳️🥳️
- [EarlyReturn] Remove findFirstNext() on InvertedIfFactory (#4399)
- [DX] Remove findParentType() method (#4438)
- [DX] Remove parent node from AbstractRector (#4465)
New Features 🥳
- Add float mul integer type to NumericReturnTypeFromStrictScalarReturnsRector (#4376)
- [TypeDeclaration] Add Encapsed string support to AlwaysStrictScalarExprAnalyzer (#4382)
- [TypeDeclaration] Add StrictArrayParamDimFetchRector (#4384)
- [DX] Kick of SimpleParameterProvider (#4405)
Bugfixes 🐛
- [DeadCode] Skip non typed param numeric check on RecastingRemovalRector (#4390)
- [Renaming] Handle crash on catch Exception name on RenameClassRector (#4401)
- Fix NumericReturnTypeFromStrictScalarReturnsRector for non-natively-typed parameters (#4380), Thanks @staabm!
- [Php82] Skip extends unknown class on ReadonlyClassRector (#4408)
- [TypeDeclaration] Handle crash on no namespace with + operation on DeclareStrictTypesRector (#4414)
- [NodeTypeResolver] Reduce duplicated Scope fill on FuncCall (#4428)
- Make JsonThrowOnErrorRector work with local scope to detect error_json methods (#4451)
- Deprecate resolveNextNode() to work only in current node tree context (#4455)
- [Naming] Skip used on next foreach on RenameForeachValueVariableToMatchExprVariableRector (#4469)
Removed 💀
- Remove duplicate ReturnNeverTypeRector rule (#4381), Thanks @buffcode!
- [MysqlToMysqli] Deprecate set, as dangerous to use, better handle manually (#4448)
- [DX] Make use of SimpleParameterProvider directly, deprecate RectorConfigProvider (#4460)
- [Performance] Immediate remove UnreachableStatementNodeVisitor object after traverse to avoid re-use in next file (#4417)
- [NodeTypeResolver] Remove ArrayItem scope filling from Array_ and Name filling for Catch types on PHPStanNodeScopeResolver (#4423)
- [PHP 8] Resources object upgrade - remove 2 rules as the upgrade require wholesome manual work (#4442)
- [DeadCode] Remove RemoveJustVariableAssignRector as often done on purpose or with side effect (#4450)
- Remove deprecated resolveNextNode() to embrace local scope node (#4456)
- [DX] Remove node connecting traverser from AbstractRector (#4463)
- Remove NodeConnectingTraverser (#4464)
- [DX] Remove autowrapping of expr/stmt to make return values in the same type and reliable (#4466)