Skip to content

Released: Rector 2.0.18

Latest
Compare
Choose a tag to compare
@samsonasik samsonasik released this 11 Jun 11:23
· 36 commits to main since this release

New Features 🥳

  • Bump to PHP-Parser ^5.5.0 (#6946)
  • [DeadCode] Add RemoveArgumentFromDefaultParentCallRector (#6949)
  • [DeadCode] Add RemoveDeadCatchRector rule (#6939), Thanks @P3gucka!

Bugfixes 🐛

  • [Php80] Add more exact Expr node that always bool for switch(true) usage on ChangeSwitchToMatchRector (#6965)
  • [Php80] Prevent adding empty return when stringable always throws (#6968), Thanks @Mika-!
  • [php 8.0] Check if class is an attribute in AnnotationToAttributeRector, to avoid non-attribute bug (#6954)
  • [Transform] Fix FQCN usage on new name on MergeInterfacesRector (#6956)
  • Rectify (#6957)
  • [Printer] Skip change new line as space on anonymous class on print (#6958)
  • [Printer] Use regex string new space detection for anonymous class (#6959)
  • [Php80] Handle dynamic bool expr on ChangeSwitchToMatchRector (#6961)
  • [Php80] Do not change to match(true) on defined case cond on ChangeSwitchToMatchRector (#6962)
  • [Php80] Do not change to match(true) on variable from param on case cond on ChangeSwitchToMatchRector (#6963)
  • Fix fixture file name (#6964)
  • [Renaming] [Symfony 7.0] Skip ClassConstFetch that rename its ->class to Interface that constant not exists in new interface (#6966)
  • Fix stub (#6967)
  • [DeadCode] Clean up useless union StmtsAwareInterface|ClassMethod on TerminatedNodeAnalyzer (#6969)
  • [Php80] Handle has silent void on StringableForToStringRector (#6970)
  • [PostRector] Clean up rename process on ClassRenamingPostRector (#6971)
  • [DeadCode] Early check skip no extends on RemoveDefaultArgumentFromParentCallRector (#6950)
  • [DeadCode] Allow remove createMock method call on RemoveUnusedVariableAssignRector (#6951)
  • [DeadCode] Skip when next catch is parent class exception with special treatment over just throw on RemoveDeadCatchRector (#6952)

rectorphp/rector-symfony 🎵

  • [Symfony 7.3] Handle commands without configure method in InvokableCommandInputAttributeRector (#797), Thanks @gharlan
  • [Symfony 7.3] Handle fluent call addArgument and addOption on InvokableCommandInputAttributeRector (#795)
  • Twig attributes: add required first param (#793), Thanks @gharlan
  • Fix namespace of console Option attribute (#792), Thanks @gharlan
  • fix: Normalize variable names by replacing hyphens with underscores in Symfony73 command argument and option processing (#790), Thanks @antoniovj1
  • remove return tags in TemplateAnnotationToThisRenderRector as no longer needed (#788)
  • return array if is array type in TemplateAnnotationToThisRenderRector (#786)
  • Bump to php-parser 5.5.0 and update fixture attributes usage (#784)

rectorphp/rector-doctrine 🟠

  • [typed-collections] Add RemoveNullsafeOnCollectionRector (#420)
  • skip assign of New_ to CollectionParamTypeSetterToCollectionPropertyRector (#419)
  • fix reprint of type in CollectionSetterParamNativeTypeRector (#418)
  • Various improvements in typed-collections set (#417)
  • Skip RemoveNullFromNullableCollectionTypeRector if not exactly 1 param or in tests (#416)
  • [typed-collections] allow 2nd+ param to be nullable in CollectionSetterParamNativeTypeRector as most likely null can be passed as non-setter (#415)
  • cleanup redundant fixtures, single rule (#414)
  • [Dbal40] Skip different object on ExecuteQueryParamsToBindValueRector (#413)
  • [dbal 4.0] Add ExecuteQueryParamsToBindValueRector (#412)
  • [dbal 4.0] Add deprecated PDO class to enum like (#411)
  • [dbal 4.2] Add AddArrayResultColumnNamesRector (#410)

rectorphp/rector-downgrade-php ⬇️

  • [DowngradePhp73] Real patch for previous node token just swapped with trailing comma and named argument (take 2) (#288)
  • [Test] Add more test fixture for downgrade named argument with trailing comma (#287)
  • [Down to PHP 7.2] Handle download named argument with trailing comma (#285)