Download Latest Version Released Rector 2.2.7 source code.tar.gz (2.0 MB)
Email in envelope

Get an email when there's a new version of Rector

Home / 2.2.6
Name Modified Size InfoDownloads / Week
Parent folder
README.md 2025-10-27 7.8 kB
Released Rector 2.2.6 source code.tar.gz 2025-10-27 2.0 MB
Released Rector 2.2.6 source code.zip 2025-10-27 4.3 MB
Totals: 3 Items   6.3 MB 0

New Features :partying_face:


Bugfixes :bug:

  • 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 (https://github.com/rectorphp/rector-src/commit/08f6dc3c299038919818df2970eaf69a88fd1314)
  • skip all-typed properties in TypedPropertyFromStrictConstructorRector (https://github.com/rectorphp/rector-src/commit/c5d9fdfcbe5bc43a8114307e24b5ca6cdd57f55b)
  • skip no-type params in RenameParamToMatchTypeRector (https://github.com/rectorphp/rector-src/commit/cd7eb93b7bb67f142708ad4a54ab12f9e09f31e2)
  • optimize ParamTypeByParentCallTypeRector to handle only classes with parents and method without param type (https://github.com/rectorphp/rector-src/commit/0ca4e9112b61bdbeb6b8fe826e7aae56c298272e)
  • [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 :skull:

  • [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 :musical_note:

  • [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 :green_circle:

  • [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)
Source: README.md, updated 2025-10-27