Skip to content

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Dec 12, 2024

ℹ️ Note

This PR body was truncated due to platform limits.

This PR contains the following updates:

Package Change Age Confidence
rector/rector (source) 0.15.222.3.4 age confidence

Release Notes

rectorphp/rector (rector/rector)

v2.3.4

Compare Source

v2.3.3: Released Rector 2.3.3

Compare Source

Bugfixes 🐛

v2.3.2: Released Rector 2.3.2

Compare Source

New Features 🥳

  • [dx] Rename DeprecatedAnnotationToDeprecatedAttributeRector for PHP 8.5 to explicit ConstAndTraitDeprecatedAttributeRector, add trait suport (#​7823)

Bugfixes 🐛

  • Bump to PHPStan 2.1.34 and fix compatible code (rectorphp/rector-src#7844)
  • [perf] optimize ParamTypeByMethodCallTypeRector for speed with early checks (#​7831)
  • make resolveClassReflection non-nullable as always passed a node (#​7833)
  • [Php74] Skip closure in attribute on ClosureToArrowFunctionRector (#​7834)
  • Manage named arguments when removing values (#​7835), Thanks @​carlos-granados!
  • bump to PHP 8.3 + update deps + allow it in CI (#​7838)
  • Support array_values in ArrayFirstLastRector (#​7830), Thanks @​Orest-Divintari!
  • [Php85] Skip as assigned var/op on ArrayFirstLastRector (#​7843)
  • Remove no longer needed tweak AlwaysRememberedExpr on Printer per PHPStan 2.1.34 (#​7770)

rectorphp/rector-phpunit 🟢

v2.3.1: Released Rector 2.3.1

Compare Source

New Features and Changes 🥳

  • [tdd] Add AddReturnDocblockForDimFetchArrayFromAssignsRector (#​7792)
  • [tdd] Add AddReturnDocblockFromMethodCallDocblockRector (#​7796)
  • [tdd] Add AddVarArrayDocblockFromDimFetchAssignRector (#​7801)
  • [DeadCode] Add RemoveDeadIfBlocksRector (#​7528), Thanks @​john-shaffer!
  • [dead-code] Add RemoveVoidDocblockFromMagicMethodRector (#​7822) - Thanks @​parijke!
  • [experiment] Remove leaveNode() method on AbstractRector and CallableNodeVisitor (#​7767)

Bugfixes 🐛

  • Skip Doctrine Connection calls in AddReturnDocblockFromMethodCallDocblockRector (#​7797)
  • add static all support to AddReturnDocblockFromMethodCallDocblockRector (#​7798)
  • add object support to DocblockReturnArrayFromDirectArrayInstanceRector (#​7795)
  • [TypeDeclarationDocblocks] Use FQCN return docblock for array of object types on AddReturnDocblockFromMethodCallDocblockRector (#​7800), Thanks @​guanguans!
  • [php 8.3] cover private abstract constants in AddTypeToConstRector (#​7804)
  • Add check for append in foreach items assignment (#​7815), Thanks @​solverat!
  • Static closure rule ignores arguments with $this binding (#​7721), Thanks @​peterfox!
  • fix: skip non-native methods (#​7747), Thanks @​calebdw!
  • [Php74] Fix indentation space on ClosureToArrowFunctionRector with comment inner closure (#​7779)
  • [DeadCode] Handle crash when parent does not has default param and child has (#​7782)
  • fix mixed[] override with empty array in DocblockReturnArrayFromDirectArrayInstanceRector (#​7793)
  • [ChangesReporting] Fix total changed result on JsonOutputFormatter (#​7807)
  • Manage named arguments when replacing a value (#​7784), Thanks @​carlos-granados!
  • [DeadCode] Register RemoveNextSameValueConditionRector in dead-code set (#​7790)
  • [DeadCode] Skip final and non-public __construct() on RemoveParentDelegatingConstructorRector (#​7806)
  • [DeadCode][Php80] Handle crash on mix ClassPropertyAssignToConstructorPromotionRector+RemoveParentDelegatingConstructorRector (#​7799)
  • [DeadCode] Skip with elseif/else on RemoveNextSameValueConditionRector (#​7809)
  • [DeadCode] Merge comment on RemoveNextSameValueConditionRector (#​7810)
  • skip marker attribute in RemoveEmptyClassMethodRector (#​7813)
  • [DeadCode] Skip private promoted property on RemoveParentDelegatingConstructorRector (#​7817)
  • Remove rector from rule definition title (#​7820), Thanks @​simonschaufi!
  • [experiment-next] Remove leaveNode() calls on AbstractImmutableNodeTraverser (#​7778)
  • [DeadCode] Handle multi vars on RemoveNonExistingVarAnnotationRector (#​7780)
  • [Php71] Try to handle no variants on RemoveExtraParametersRector (#​7803)

v2.3.0: Released Rector 2.3

Compare Source

New Features 🥳


Bugfixes 🐛

  • Manage named arguments in ArgumentAdderRector rule (#​7777), Thanks @​carlos-granados!
  • [compat] Add SymplifyQuoteEscapeRector deprecated rule for BC layer (#​7744)
  • [Php81] Skip on Param default on ArrayToFirstClassCallableRector (#​7749)
  • [CodeQuality] Handle ternary in identical left/right on UseIdenticalOverEqualWithSameTypeRector (#​7748)
  • fix: chained calls on static calls (#​7746), Thanks @​calebdw!
  • [code-quality] Extract standalone SortAttributeNamedArgsRector from SortNamedParamRector, to slightly different areas (#​7750)
  • [rename] Rename SortNamedParamRector to SortCallLikeNamedArgsRector to be more clear about the intent (#​7751)
  • [Php85] Skip under unset() on ArrayFirstLastRector (#​7752)
  • [Php81] ArrayToFirstClassCallableRector should not skip non-public methods from owning scope (#​7760), Thanks @​acoulton!
  • [fix] wrap ternary in parenthese on string casting, if only cond is casted (#​7745)
  • [internal] Fix inline replace block removal not removed on deep block for InlineIfToExplicitIfRector + ReplaceBlockToItsStmtsRector (#​7764)
  • [TypeDeclaration] Skip class not found on ObjectTypedPropertyFromJMSSerializerAttributeTypeRector (#​7774)
  • [Php85] Skip defined int or string on ArrayKeyExistsNullToEmptyStringRector (#​7758)

Removed 💀

  • [DeadCode] Skip trait on RemoveAlwaysTrueIfConditionRector (#​7759)
  • [internal] Remove duplicated enterNode() type check already handled in node traverser (#​7717)
  • [dx] warn about deprecated beforeTraverse() method once FileNode is ready (#​7768)
  • [DeadCode] Skip next assign expr has side effect inside try {} on RemoveDoubleAssignRector (#​7775)
  • [DeadCode] Skip with different default param value child vs parent on RemoveParentDelegatingConstructorRector (#​7776)

rectorphp/rector-symfony 🎵

  • bump (#​911)
  • [code-quality] Add ReturnDirectJsonResponseRector (#​910)
  • Fix scoped downgrade SymfonyClass (#​909)
  • cover is safe (#​908)
  • [twig] add explicit attribute name arg, to improve context (#​907)
  • [Symfony73] Fix named arg different position crash on InvokableCommandInputAttributeRector (#​905)
  • [CodeQuality] Skip UserInterface instance on ControllerMethodInjectionToConstructorRector (#​904)
  • create ClassMethod directly in InvokableCommandInputAttributeRector, to keep newline per attribute (#​903)
  • Remove InvokableCommandInputAttributeRector from set (#​901)
  • [Validator] use constants for Email (#​900), Thanks @​JohJohan

rectorphp/rector-doctrine 🟠


rectorphp/rector-phpunit 🟢

  • [AnnotationsToAttributes] Handle both annotation and attributes exists on DataProviderAnnotationToAttributeRector (#​603)
  • [fix] skip AddInstanceofAssertForNullableArgumentRector on assert call (#​602)
  • [code-quality] Add AddInstanceofAssertForNullableArgumentRector (#​601)
  • use FileNode in DeclareStrictTypesTestsRector (#​599)

v2.2.14: Released Rector 2.2.14

Compare Source

Bugfixes 🐛
  • [fix] warn early about deprecated skipped rules, as not neccessary to skip anymore + restore FirstClassCallableRector and mark as deprecated to keep BC (#​7742)

v2.2.13: Released Rector 2.2.13

Compare Source

Bugfixes 🐛
  • [fix] restore missing pInterpolatedStringPart(), cover with test (#​7741)

v2.2.12: Released Rector 2.2.12

Compare Source

Bugfixes 🐛

  • [cleanup] Make FirstClassCallableRector use attributes over node traverser hacks (#​7696)
  • [CodingStyle] Skip enum case on NewlineBetweenClassLikeStmtsRector (#​7698), Thanks @​parth391!
  • [fix] skip all-but standalone assign on SetTypeToCastRector (#​7699)
  • [fix] avoid changing generic interface in NarrowObjectReturnTypeRector, focus on objects as in definition (#​7700)
  • Remove direct NodeTravser::* where possible, use node visitor attribute key instead (#​7697)

Removed and Deprecated 💀

  • [dx] add stmts aware deprecation notice in `getNodeTypes()`` (#​7692)

rectorphp/rector-symfony 🎵

  • [Symfony 8.0] move RemoveEraseCredentialsRector from symfony 7.3 to symfony 8.0 (#​895), Thanks @​EJTJ3
  • [CodeQuality] Skip different service same name on ControllerMethodInjectionToConstructorRector (#​894)
  • [code-quality] Skip enum in ControllerMethodInjectionToConstructorRector (#​893)

v2.2.11: Released Rector 2.2.11

Compare Source

Bugfixes 🐛

  • [cleanup] Make FirstClassCallableRector use attributes over node traverser hacks (#​7696)
  • [CodingStyle] Skip enum case on NewlineBetweenClassLikeStmtsRector (#​7698), Thanks @​parth391!
  • [fix] skip all-but standalone assign on SetTypeToCastRector (#​7699)
  • [fix] avoid changing generic interface in NarrowObjectReturnTypeRector, focus on objects as in definition (#​7700)
  • [transform] tidy up array dim fetch to method call rector (#​7694)
  • Remove direct NodeTravser::* where possible, use node visitor attribute key instead (#​7697)

Removed and Deprecated 💀

  • [dx] add stmts aware deprecation notice in getNodeTypes() (#​7692)

rectorphp/rector-symfony

  • [Symfony 8.0] move RemoveEraseCredentialsRector from symfony 7.3 to symfony 8.0 (#​895), Thanks @​EJTJ3
  • [CodeQuality] Skip different service same name on ControllerMethodInjectionToConstructorRector (#​894)
  • [code-quality] Skip enum in ControllerMethodInjectionToConstructorRector (#​893)

v2.2.10: Released Rector 2.2.10

Compare Source

New Features and Improvements 🥳


Bugfixes 🐛

  • [PhpParser] Add Stmt\Block to NodeGroup::STMTS_AWARE (#​7689)
  • skip already dim fetch variable on OrdSingleByteRector (#​7681)
  • [Php85] Handle crash on no arg on OrdSingleByteRector (#​7682)
  • [Php70] Handle return ternary on IfIssetToCoalescingRector (#​7683)
  • [CodingStyle] Skip use trait on NewlineBetweenClassLikeStmtsRector (#​7685)
  • [CodingStyle] Handle use trait after property on NewlineBetweenClassLikeStmtsRector (#​7687)
  • [CodeQuality] Skip with HTML on ShortenElseIfRector (#​7686)
  • [Variables] Fetch list super global variable names from PHPStan Scope::SUPERGLOBAL_VARIABLES constant (#​7663)
  • Fix typo in rule definition message (#​7690), Thanks @​simonschaufi!

rectorphp/rector-symfony 🎵

  • [code-quality] Skip enum in ControllerMethodInjectionToConstructorRector (#​893)
  • [symfony 7.3] Add CommandDefaultNameAndDescriptionToAsCommandAttributeRector (#​892)
  • [symfony 7.x] update sets (#​890)
  • [CodeQuality] Skip parent method exists on ControllerMethodInjectionToConstructorRector (#​889)
  • skip params with attributes in ControllerMethodInjectionToConstructorRector (#​887)
  • [stmts-aware] Use NodeGroup::STMTS_AWARE over StmtsAwareInterface (#​886)

rectorphp/rector-phpunit 🟢

  • [fix] Improve AssertComparisonToSpecificMethodRector for assert false (#​594)

v2.2.9: Released Rector 2.2.9

Compare Source

New Features and Changes 🥳

  • [exp] Add RemoveReturnThisFromSetterClassMethodRector (#​7624)
  • [exp] Add FluentSettersToStandaloneCallMethodRector (#​7625)
  • [dead-code] Add RemoveNextSameValueConditionRector (#​7525)
  • Update PHP upgrade support to version 8.5 (#​7644), Thanks @​guilheb!
  • [stmts-aware] Deprecate StmtsAwareInterface interface and replace with meta-type + groups (#​7679) - How to upgrade?

Bugfixes 🐛

  • Improve parent call fixture in Php4ConstructorRector not to use KEY constant (#​7642)
  • Improve ClassPropertyAssignToConstructorPromotionRector not to use STMT_KEY attribute value (#​7645)
  • [TypeDeclaration] Handle crash on combine union types on AddClosureParamTypeForArrayReduceRector (#​7636)
  • [TypeDeclaration] Skip no key generic object return on NarrowObjectReturnTypeRector (#​7623)
  • [CodingStyle] Do not use FullyQualified on "self" on ClosureFromCallableToFirstClassCallableRector (#​7632), Thanks @​devnix!
  • [Php80] Handle mix still annotation and already attribute on AnnotationToAttributeRector (#​7639), Thanks @​acoulton!
  • cleanup RemoveUnsuedPrivateMethodRector (#​7643)
  • re-index changed nodes only (#​7651)
  • avoid spl_object_id() if no change in AbstractRector (#​7653)
  • Refine bug report template formatting (#​7655), Thanks @​u01jmg3!
  • [Php85] Skip inside expression assign on ArrayFirstLastRector (#​7657)
  • Rename SymplifyQuoteEscapeRector to SimplifyQuoteEscapeRector (#​7658), Thanks @​VincentLanglet!
  • docs: fix typos in deprecation notice (#​7666), Thanks @​sir-kain!
  • [Dep] Ignore unknown class error on build/config/config-downgrade.php on shipmonk/composer-dependency-analyser to 1.8.4 (#​7668)
  • [dx] Make registration of custom NodeVisitor is easier (#​7669)
  • raise deps (rectorphp/rector-src@440d6d7)
  • [Experiment][Printer] Move AlwaysRememberedExpr tweak logic to separate service after a Match_ found (#​7654)
  • Narrow object return type v2 (#​7618), Thanks @​Orest-Divintari!
  • [Php80] Handle OpenApi\Attributes\Property example to keep numeric string on AnnotationToAttributeRector (#​7677)
  • keep file without namespace implementing interface to alling with other nodes (#​7679)
  • [EarlyReturn] Handle If, elseIf, else all returned on RemoveAlwaysElseRector (#​7659)
  • [DeadCode] skip Ds\Map::get() on RemoveNullArgOnNullDefaultParamRector (#​7665)

Removed 💀

  • [DeadCode] Skip used from property fetch reference on loop on RemoveUnusedVariableAssignRector (#​7635)
  • [internal] Extract ImmutableNodeTraverser from vendor, to remove patch and keep using cache for node types (#​7634)
  • Deprecated STMT_KEY and remove its set attribute value (#​7647)
  • [attribute] Remove unused AttributeKey::REPRINT_RAW_VALUE (#​7664)



rectorphp/rector-symfony 🎵

  • [stmts-aware] Use NodeGroup::STMTS_AWARE over StmtsAwareInterface (#​886)
  • Fix rule when method is __invoke (#​884), Thanks @​wilfi00
  • [CodeQuality] Do not replace variable assign on ControllerMethodInjectionToConstructorRector (#​883)
  • Handle Doctrine constraints in ConstraintOptionsToNamedArgumentsRector (#​882), Thanks @​johndodev
  • [CodeQuality] Skip FOS\RestBundle ParamFetcher on ControllerMethodInjectionToConstructorRector (#​881)
  • [CodeQuality] Skip autowire() method via @​required and Required attribute (#​880)
  • Fix scoped \ cleared on single quote string on ControllerMethodInjectionToConstructorRector (#​879)
  • [CodeQuality] Skip Common Entity contains subnamespaces on ControllerMethodInjectionToConstructorRector (#​878)
  • [CodeQuality] Skip from route path /edit/{id} on ControllerMethodInjectionToConstructorRector (#​877)
  • handle use var (#​875)
  • Remove STMT_KEY from rules (#​874)
  • Remove stmt key from LogoutHandlerToLogoutEventSubscriberRector (#​870)
  • Fix build of prefixed SymfonyFunctionName::REF and SymfonyFunctionName::SERVICE usage (#​869)
  • [config] Fix couple config autowire rules (#​868)
  • Fix unit test (#​867)
  • skip constructor in ControllerMethodInjectionToConstructorRector (#​866)
  • [code-quality] Add ControllerMethodInjectionToConstructorRector (#​865)



rectorphp/rector-phpunit 🟢

  • [CodeQuality] Skip Generator on AssertCompareOnCountableWithMethodToAssertCountRector (#​591)
  • remove stmt key from ConstructClassMethodToSetUpTestCaseRector (#​590)
  • Remove stmt key from TestListenerToHooksRector (#​589)
  • fix phpunit covers default class with short covers methods (#​588), Thanks @​irosner
  • [CodeQuality] Do not use FullyQualified on "self" on WithCallbackIdenticalToStandaloneAssertsRector (#​587)
  • [phpunit 10] Improve PropertyExistsWithoutAssertRector coverage (#​586)
  • [depre] Deprecate AssertPropertyExistsRector as method was removed in PHPUnit 10 (#​585)
  • [depre] Deprecate RemoveDataProviderParamKeysRector as the keys can be useful to improve test readability (#​584), Thanks @​MacDada
  • [CodeQuality] Handle on without namespace on DeclareStrictTypesTestsRector (#​583)

v2.2.8: Released Rector 2.2.8

Compare Source

New Features 🥳

  • [type-declaration] Add return data provider array type from strict test method param (#​7605)
  • [coding-style] Add NestedTernaryToMatchRector (#​7572)
  • [TypeDeclaration] Register NarrowObjectReturnTypeRector to type declaration set (#​7615)

Bugfixes 🐛

  • [Diffs] Handle --no-diffs usage to show file have been changed if any with --dry-run + --no-diffs (#​7619)
  • [Php81] Skip callable variadic in array_all() on FunctionLikeToFirstClassCallableRector (#​7606)
  • fix a syntax error in the ArrayFirstLastRector rule documentation (#​7613), Thanks @​esnard!
  • Narrow object return type (#​7575), Thanks @​Orest-Divintari!
  • [type-declaration] Rename NarrowTooWideReturnType to NarrowWideUnionReturnTypeRector (#​7614)
  • [TypeDeclaration] Also update generic collection docblock on NarrowObjectReturnTypeRector (#​7616)
  • [TypeDeclaration] Do not change valid generic docblock on NarrowObjectReturnTypeRector (#​7617)
  • [Privatization] Do not remove readonly on promoted property on PrivatizeFinalClassPropertyRector (#​7611)

Removed 💀

  • [dx] help - omit explicit command name as no longer needed; remove verbosity option, use debug instead (#​7620)

rectorphp/rector-symfony 🎵

  • ensure reset args after loop (#​864)
  • Bump PHPStan to ^2.1.32 and fix test for InlineClassRoutePrefixRector (#​863)
  • [Symfony74] replace PropertyMetadata deprecated functions (#​862), Thanks @​MrYamous
  • [Symfony74] update WorkflowDumpCommand namespace (#​861), Thanks @​MrYamous
  • add property support to ErrorNamesPropertyToConstantRector (#​860)
  • Support converting all options to twig attributes (#​859), Thanks @​Spea

rectorphp/rector-phpunit 🟢

  • [CodeQuality] Skip in static method on AssertFuncCallToPHPUnitAssertRector (#​582)
  • add implicit method call support (#​581)
  • add multi callbacks support (#​580)
  • allow extra stmt (#​579)
  • add dynamic instanceof support (#​578)
  • [code-quality] Add SimplerWithIsInstanceOfRector (#​577)
  • add sole instanceof support (#​576)
  • add use var (#​575)
  • add return type or empty if nothing to add (#​574)
  • [code-quality] Add MergeWithCallableAndWillReturnRector (#​573)
  • handle solo identical as well, to get better message (#​572)
  • always return true, as required by contract (#​571)
  • add external variable use (#​570)
  • add isset support, revert order to respect original one (#​569)
  • [code-quality] Add WithCallbackIdenticalToStandaloneAssertsRector (#​568)

rectorphp/rector-downgrade-php ⬇️

  • Bump to PHPStan ^2.1.32 and ignore false positive instanceof in OR usage (#​344)

v2.2.7: Released Rector 2.2.7

Compare Source

New Features 🥳

  • [type-declaration] Add ReturnIteratorInDataProviderRector (#​7593)
  • [type-declarations] Add TypedStaticPropertyInBehatContextRector (#​7596)
  • [DeadCode] Register RemoveNullArgOnNullDefaultParamRector to dead code set (#​7597)
  • [php 8.5] Split of nested functions calls to pipe operator in a new standalone rule (#​7603)

Bugfixes 🐛

  • always add nullable on TypedPropertyFromJMSSerializerAttributeTypeRector as serializer does not use constructor (#​7599)
  • [Php81] Skip callable param union on FunctionLikeToFirstClassCallableRector (#​7589)
  • [CodeQuality] Skip ArrayDimFetch with BitwiseXor on CombinedAssignRector (#​7590)
  • [Php84] Skip variable extraction with return early on ForeachToArrayAllRector (#​7591)
  • [PHP 8.5] rename NestedToPipeOeratorRector to SequentialAssignmentsToPipeOperatorRector, handle only assigns, not nested calls (#​7588)
  • [Php81] Skip as Arg of non-native function call on FunctionLikeToFirstClassCallableRector (#​7592)
  • skip different args passed to call-like and required by arrow function in FunctionLikeToFirstClassCallableRector (#​7594)
  • handle public properties in TypedPropertyFromJMSSerializerAttributeTypeRector as nullable (#​7595)
  • skip to many in /TypedPropertyFromJMSSerializerAttributeTypeRector (#​7598)
  • skip refernce one as well in /TypedPropertyFromJMSSerializerAttributeTypeRector (rectorphp/rector-src@842aa94)
  • split TypedPropertyFromJMSSerializerAttributeTypeRector to scalar and object types (#​7602)
  • Don't require parentheses for short-ternaries (#​7604), Thanks @​martinstuecklschwaiger!

rectorphp/rector-symfony 🎵

  • [Configs] Skip first class callable on RemoveConstructorAutowireServiceRector (#​858)

rectorphp/rector-phpunit 🟢

  • [depre] Deprecate SetUpBeforeClassToSetUpRector as can break code easily (#​567)

v2.2.6: Released Rector 2.2.6

Compare Source

New Features 🥳

  • [PHP 8.5] Add NestedToPipeOperatorRector (#​7577)
  • [code-quality] Add DirnameDirConcatStringToDirectStringPathRector (#​7552)
  • [dead-code] Add RemoveNullArgOnNullDefaultParamRector (#​7562)
  • register AddClosureParamTypeFromIterableMethodCallRector to type declaration set (rectorphp/rector-src@4d78f41)
  • register AddParamArrayDocblockBasedOnCallableNativeFuncCallRector in type declaration docblocks (rectorphp/rector-src@80f7db8)

Bugfixes 🐛

  • Fix next catch missed variable rename in CatchExceptionNameMatchingTypeRector (#​7547)
  • [Php81] Fix first class callable should not have trailing comma on FunctionLikeToFirstClassCallableRector (#​7551)
  • [CodingStyle] Skip Method target not found or defined only via @​method on FunctionLikeToFirstClassCallableRector (#​7553)
  • [Php81][CodingStyle] Allow both exists in both @​method and native method on FunctionLikeToFirstClassCallableRector (#​7559)
  • [Php81][CodingStyle] Skip param used as invokable function multi args on FunctionLikeToFirstClassCallableRector (#​7563)
  • [Php81][CodingStyle] Skip Closure/ArrowFunction as assign expr on FunctionLikeToFirstClassCallableRector (#​7564)
  • finalize rules as well (#​7575), Thanks @​Orest-Divintari!
  • [Php85] Clean up dynamic expr check on NestedToPipeOperatorRector (#​7578)
  • [Php81] Skip Closure bindTo on FunctionLikeToFirstClassCallableRector (#​7581)
  • Remove trait support rom AddParamBasedOnParentClassMethodRector as depends on context; move to Class_ node hooking for efficiency (#​7587)
  • [Php85] Handle indent inside class method on NestedToPipeOperatorRector (#​7584)
  • make DeclareStrictTypesRector skip files without namespace, as very risky in files without PSR-4 autodiscovery (#​7585)
  • speedup - skip refleciton if all params are typed (rectorphp/rector-src@08f6dc3)
  • skip all-typed properties in TypedPropertyFromStrictConstructorRector (rectorphp/rector-src@c5d9fdf)
  • skip no-type params in RenameParamToMatchTypeRector (rectorphp/rector-src@cd7eb93)
  • optimize ParamTypeByParentCallTypeRector to handle only classes with parents and method without param type (rectorphp/rector-src@0ca4e91)
  • [DeadCode] Allow FuncCall on RemoveNullArgOnNullDefaultParamRector (#​7567)
  • [DeadCode] Handle with middle default not null on RemoveNullArgOnNullDefaultParamRector (#​7565)
  • [DeadCode] Allow remove named argument if position is match with param on RemoveNullArgOnNullDefaultParamRector (#​7566)
  • [comments] Remove attribute comments support as comments require standalone line before any doctrine annotation (#​7582)

Removed and Deprecated 💀

  • [depre] Deprecate ParentClassToTraitsRector as very narrow use case to be generic, create custom rule instead (#​7550)
  • [depre] Deprecate ReplaceParentCallByPropertyCallRector as not used since doctrine set service removed, not standalone rule (#​7554)
  • [depre] Deprecate MethodCallToNewRector as not used and based on assumptions (#​7555)
  • [depre] Deprecate MethodCallToPropertyFetchRector, as not practical/used and part of removed set (#​7556)
  • [depre] Deprecate MethodCallToPropertyFetchRector as not used and part of removed set (#​7557)
  • [depre] Deprecate PropertyFetchToMethodCallRector not used and as too generic, use custom rule instead (#​7558)
  • [depre] Deprecate PropertyAssignToMethodCallRector as too narrow use-case and never used (#​7561)
  • [depre] Deprecate ReturnTypeWillChangeRector as discourages from filling correct types, use type declaration set instead (#​7570)
  • [depre] Deprecate MultiDimensionalArrayToArrayDestructRector as not part of any set, can create less readable and harder to analyse code (#​7573)
  • [depre] Deprecate InlineVarDocTagToAssertRector as not par of any set, and create prod crashing code (#​7574)
  • [depre] Deprecate AddAllowDynamicPropertiesAttributeRector, as not in PHP sets and does not help by adding attribute everywhere (#​7568)
  • [depre] Deprecate AddLiteralSeparatorToNumberRector as cannot be automated and depends on context (#​7569)

rectorphp/rector-symfony 🎵

  • [Configs] Skip first class callable on RemoveConstructorAutowireServiceRector (#​858)
  • [config] Add FromServicePublicToDefaultsPublicRector (#​857)
  • cover 2nd arg class in RemoveConstructorAutowireServiceRector (#​856)
  • [config] Add RemoveConstructorAutowireServiceRector (#​855)
  • [Symfony73] Skip empty result of named arguments on ConstraintOptionsToNamedArgumentsRector (#​853)
  • [depre] Deprecate StringExtensionToConfigBuilderRector as deprecated in Symfony 7.4 (#​854)

rectorphp/rector-phpunit 🟢

  • [code-quality] Add DeclareStrictTypesTestsRector to code-quality test (#​566)
  • [depre] Deprecate AddParentSetupCallOnSetupRector as not generic to be automated, fill manually where needed (#​565)
  • [CodeQuality] Skip used inside static closure on AssertFuncCallToPHPUnitAssertRector (#​564)
  • register ReplaceAtMethodWithDesiredMatcherRector to code-quality (#​563)
  • [depre] Deprecate CreateMockToAnonymousClassRector as requires manual work, often value object setter can be better alternative (#​562)

v2.2.5: Released Rector 2.2.5

Compare Source

Rules Registered in sets 🥳

Couple long-existing rules were added to PHP 8.1, code quality and type declaration sets after optional community testing ✔️
If you'll experience any undersired changes, let us know 👍


Bugfixes 🐛

  • [fix] skip variadic param on ParamTypeByParentCallTypeRector (#​7532)
  • [Php81][CodingStyle] Skip multi params on FunctionLikeToFirstClassCallableRector (#​7537)
  • [Php81][CodingStyle] Skip callable param assign with signature multi params on FunctionLikeToFirstClassCallableRector (#​7538)
  • Fix NullToStrictStringFuncCallArgRector with probabilistic check for plural array passed to function where array allowed (#​7539)
  • [Php81][CodingStyle] Skip variadic not used on FunctionLikeToFirstClassCallableRector (#​7540)
  • [Php81] Keep nullable param on NewInInitializerRector (#​7545)
  • [php 8.1] skip nullable property without null default in NewInInitializerRector (#​7546)

Removed and deprecated 💀

  • [depre] Deprecate 3 configurable-only, never used closure param rules as too specific (#​7541)
  • [depre] Deprecate RenameFunctionLikeParamWithinCallLikeArgRector as never used, too narrow and better suits custom project (#​7544)
  • [depre] Deprecate AddTypeFromResourceDocblockRector as breaks code and does not solve any real problem (#​7542)
  • [Php81] Completely remove AttributeGroupNewLiner (#​7536)



rectorphp/rector-phpunit 🟢

  • [depre] Add never used AddCoversClassAttributeRector, as very opionated and requires very specific file location - use custom rule instead (#​561)
  • Fix implicit PHP and PHPUnit version in RequiresAnnotationWithValueToAttributeRector (#​560)
  • [code-quality] Add AssertArrayCastedObjectToAssertSameRector (#​559)

v2.2.4: Released Rector 2.2.4

Compare Source

New Features 🥳
  • [code-quality] Add RepeatedAndNotEqualToNotInArrayRector (#​7517)
  • [code-quality] Add ReplaceConstantBooleanNotRector (#​7527)
  • [code-quality] Add VariableConstFetchToClassConstFetchRector (#​7457)
  • [coding-style] Add BinaryOpStandaloneAssignsToDirectRector (#​7466)

Bugfixes 🐛
  • Fix autoload preload on PHPUnit 12+ on global installation (#​7468) (#​7472) (#​7475)
  • [TypeDeclaration] Skip override from parent method on AddParamStringTypeFromSprintfUseRector (#​7479)
  • Run PHPUnit 12 and PHPStan compatibilty check (#​7455)
  • [TypeDeclarationDocblocks] Handle repeated item type on DocblockReturnArrayFromDirectArrayInstanceRector (#​7459)
  • [BetterPhpDocParser] Unique handling string on BracketsAwareUnionTypeNode (#​7462)
  • [CodeQuality] Skip non-variable fetch on VariableConstFetchToClassConstFetchRector as may cause side effect (#​7464)
  • [CodingStyle] Skip any CallLike with args !== [] on BinaryOpStandaloneAssignsToDirectRector ([#​7469](https:

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot force-pushed the renovate/rector-rector-2.x branch 2 times, most recently from f01b007 to 164edde Compare December 12, 2024 17:51
@renovate renovate bot force-pushed the renovate/rector-rector-2.x branch 2 times, most recently from 6d3b0ef to 47ef788 Compare December 31, 2024 13:25
@renovate renovate bot force-pushed the renovate/rector-rector-2.x branch from 47ef788 to cef86f6 Compare January 6, 2025 11:47
@renovate renovate bot force-pushed the renovate/rector-rector-2.x branch from cef86f6 to 6d870ac Compare January 19, 2025 13:25
@renovate renovate bot force-pushed the renovate/rector-rector-2.x branch 2 times, most recently from ad5ccde to dba5537 Compare February 11, 2025 12:04
@renovate renovate bot force-pushed the renovate/rector-rector-2.x branch from dba5537 to ac8be65 Compare March 3, 2025 18:16
@renovate renovate bot force-pushed the renovate/rector-rector-2.x branch from ac8be65 to fdc3435 Compare March 28, 2025 12:35
@renovate renovate bot force-pushed the renovate/rector-rector-2.x branch 3 times, most recently from 5ef5db5 to b9357e4 Compare April 28, 2025 02:27
@renovate renovate bot force-pushed the renovate/rector-rector-2.x branch from b9357e4 to b73f11a Compare May 5, 2025 12:26
@renovate renovate bot force-pushed the renovate/rector-rector-2.x branch from b73f11a to 6532ddd Compare May 12, 2025 18:55
@renovate renovate bot force-pushed the renovate/rector-rector-2.x branch from 6532ddd to 25df980 Compare May 30, 2025 11:48
@renovate renovate bot force-pushed the renovate/rector-rector-2.x branch from 25df980 to dac5e46 Compare June 11, 2025 13:50
@renovate renovate bot force-pushed the renovate/rector-rector-2.x branch 2 times, most recently from a50d38e to 8596cf4 Compare June 25, 2025 03:00
@renovate renovate bot force-pushed the renovate/rector-rector-2.x branch from 8596cf4 to 50d17c8 Compare July 10, 2025 14:11
@renovate renovate bot force-pushed the renovate/rector-rector-2.x branch from 50d17c8 to 3c91fa6 Compare July 17, 2025 23:14
@renovate renovate bot force-pushed the renovate/rector-rector-2.x branch 2 times, most recently from 241edb2 to 9b907d2 Compare August 15, 2025 16:53
@renovate renovate bot force-pushed the renovate/rector-rector-2.x branch 3 times, most recently from 59354c0 to e332753 Compare September 10, 2025 14:41
@renovate renovate bot force-pushed the renovate/rector-rector-2.x branch 4 times, most recently from 8e65950 to 3062cf1 Compare October 11, 2025 22:02
@renovate renovate bot force-pushed the renovate/rector-rector-2.x branch 3 times, most recently from e48b600 to b9a201a Compare October 27, 2025 17:39
@renovate renovate bot force-pushed the renovate/rector-rector-2.x branch from b9a201a to c112623 Compare October 30, 2025 01:04
@renovate renovate bot force-pushed the renovate/rector-rector-2.x branch from c112623 to 3b8eda2 Compare November 13, 2025 00:35
@renovate renovate bot force-pushed the renovate/rector-rector-2.x branch 3 times, most recently from 00a1c1c to 8a17957 Compare December 2, 2025 14:09
@renovate renovate bot force-pushed the renovate/rector-rector-2.x branch 3 times, most recently from 1477d27 to af61680 Compare December 9, 2025 16:04
@renovate renovate bot force-pushed the renovate/rector-rector-2.x branch from af61680 to fcb8b96 Compare December 26, 2025 00:30
@renovate renovate bot force-pushed the renovate/rector-rector-2.x branch 2 times, most recently from 6c9a33f to ddde4ac Compare January 20, 2026 01:48
@renovate renovate bot force-pushed the renovate/rector-rector-2.x branch from ddde4ac to ae0e469 Compare January 21, 2026 13:15
@renovate renovate bot force-pushed the renovate/rector-rector-2.x branch from ae0e469 to 6e57545 Compare January 21, 2026 17:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant