github rectorphp/rector 2.3.0
Released Rector 2.3

9 hours ago

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 🟠

  • Make use of FileNode (#474)

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)

Don't miss a new rector release

NewReleases is sending notifications on new releases.