Releases
0.15.24
New Features 🥳
Performance: Improve node name resolver performance (#3506 ), Thanks @keulinho !
[CodeQuality] Add SwitchTrueToIfRector (#3535 )
[CodeQuality] Add cast scalar support on ReturnTypeFromStrictScalarRector (#3544 )
Improve ArraySpreadInsteadOfArrayMergeRector (#3551 ), Thanks @yguedidi !
Performance: reduce parent attribute usage on BetterNodeFinder (#3504 )
Performance: using findFirst() when possible at BetterNodeFinder (#3505 )
Performance: use direct find() instead of lookup all nodes then filter on BetterNodeFinder (#3507 )
Performance: Use faster hashing algo for cache key generation (#3508 ), Thanks @keulinho !
Bugfixes 🐛
Add not null compare to FlipTypeControlToUseExclusiveTypeRector (#3513 )
[CodeQuality] Skip static class const fetch on InlineConstructorDefaultToPropertyRector (#3510 )
[CodingStyle] Make EncapsedStringsToSprintfRector work with two string concat (#3515 )
[CodeQuality] Handle multiple ifs on SimplifyIfExactValueReturnValueRector (#3527 )
[NodeManipulator] Reduce parent attribute usage on VariableManipulator (#3528 )
[NodeTypeResolver] Make NodeTraverser as property on PHPStanNodeScopeResolver (#3533 )
[NodeTypeResolver] Make NodeTraverser as property on NodeScopeAndMetadataDecorator (#3532 )
[NodeAnalyzer] Use PHPStan ClassReflection to detect anonymous class on ClassAnalyzer (#3543 )
[Php81] Merge attributes on NewInInitializerRector (#3546 )
[Php81] Handle assign op append on ReadOnlyPropertyRector (#3552 )
[CodeQuality] Skip empty cases on SwitchTrueToIfRector (#3556 )
RemoveNonExistingVarAnnotationRector: Allow return annotations (#3534 ), Thanks @jlherren !
[PostRector] Skip remove unused used at @see for Generic tag (#3562 )
[PostRector] Skip remove unused use on used as ConstFetchNode, eg: TypeKind::* (#3560 )
Removed 💀
[CodeQuality] Remove next node attribute usage on SimplifyIfExactValueReturnValueRector (#3511 )
[CodingStyle] Remove previous node attribute on WrapEncapsedVariableInCurlyBracesRector (#3512 )
[CodeQuality] Remove next node attribute usage on SimplifyIfNotNullReturnRector (#3517 )
Remove deprecated @noRector warning (#3518 )
[CodingStyle] Remove next node attribute on NewlineAfterStatementRector (#3525 )
[Privatization] Remove parent attribute usage on PrivatizeFinalClassMethodRector (#3526 )
[NodeTypeResolver] Remove NodeScopeAndMetadataDecorator::decorateStmtsFromString() method (#3530 )
[DeadCode] Remove previous attribute usage on RemoveDeadConditionAboveReturnRector (#3538 )
[Php70] Remove previous attribute usage on ReduceMultipleDefaultSwitchRector (#3537 )
[CodingStyle] Remove parent attribute usage on RemoveFinalFromConstRector (#3536 )
[CodingStyle] Remove previous node attribute on TernaryConditionVariableAssignmentRector (#3540 )
[DeadCode] Remove previous and parent attribute usage on RemoveNullPropertyInitializationRector (#3541 )
[DeadCode] Remove property comment same line on RemoveUnusedPrivatePropertyRector (#3547 )
[PSR4] Remove clone $node on NormalizeNamespaceByPSR4ComposerAutoloadRector (#3553 )
[PSR4] Remove clone $node on PseudoNamespaceToNamespaceRector (#3554 )
[Tests] Remove RunTestsInSeparateProcesses in rules-tests (#3555 )
[NodeRemover] Use return null after $this->removeNode() (#3558 )
[Php73] Remove next node attribute usage on ArrayKeyFirstLastRector (#3559 )
You can’t perform that action at this time.