Releases: rectorphp/rector
Releases · rectorphp/rector
Released: Rector 2.0.17
New Features 🥳
- [Php85] Add ArrayFirstLastRector (#6900)
- Use active voice and add markdown style for code blocks (#6897), Thanks @simonschaufi!
- [Php83] Add ReadOnlyAnonymousClassRector (#6916)
- [Php83] Add DynamicClassConstFetchRector (#6922)
- [Test] Add test for crash after reprint Stmt (#6924)
- [Command] Fix to make additionalAutoloader->autoloadPaths() works on both parallel and non-parallel proccess (#6927)
- [Alternative] Add EnumCaseToPascalCaseRector with use of DynamicSourceLocatorProvider (#6899)
Bugfixes 🐛
- Directly use isNames() in rector rules (#6896)
- [StrContainsRector] also replace multibyte functions fro strpos and strstr (#6901), Thanks @JohJohan!
- [DeadCode] IsClassMethodUsedAnalyzer needs to use Scope from Class_ level (#6910)
- [Php84] Skip with parentheses on class on NewMethodCallWithoutParenthesesRector (#6911)
- [CodeQuality] Skip Assign Op on ternary on SimplifyUselessVariableRector (#6913)
- Rectify to trigger latest build (#6914)
- [Php82] Handle implicit public readonly on ReadOnlyClassRector (#6919)
- Use dynamic check on last on ClassConstManipulator (#6921)
- bump (rectorphp/rector-src@695228f)
- [Naming] Re-use repetitive DateTimeInterface object type check on services into PropertyNaming service (#6926)
- [AutoImport] Skip conflict aliased with docblock on auto import (#6929)
- [AutoImport] Skip reserved class names on auto import (#6933)
- [AutoImport] Fix empty uses on auto import + rename class on no namespaced file (#6935)
- [Php83] Fix invalid constant use READONLY_CLASS -> READONLY_ANONYMOUS_CLASS on ReadOnlyAnonymousClassRector (#6936)
- fix: RenameMethodRector does not rename trait methods (#6928), Thanks @LordSimal!
- [CodeQuality] Skip late static binding use on CompleteDynamicPropertiesRector (#6938)
- [dx] report false skipped rules in more nicer way (#6941)
- [PHP84] Deprecated annotation to Deprecated attribute (#6923), Thanks @peterfox!
- [Renaming] Allow rename method in trait itself on RenameMethodRector (#6942)
- [Renaming] Handle rename caller on trait on RenameMethodRector (#6944)
- [TypeDeclaration] Fix crash on already return static on AddReturnTypeDeclarationRector (#6940)
- [TypeDeclaration] Handle crash on return different over static on AddReturnTypeDeclarationRector-a (#6943)
Removed 💀
- Use active voice and remove note about PHPUnit (#6907), Thanks @simonschaufi!
- [DeadCode] Skip used by Array callable on RemoveEmptyClassMethodRector (#6908)
- [DeadCode] Use IsClassMethodUsedAnalyzer service on RemoveEmptyClassMethodRector (#6909)
- [DeadCode] Handle called by static call on RemoveUnusedPrivateMethodParameterRector (#6912)
- [DeadCode] Skip used by $this on RemoveUnusedPrivateClassConstantRector (#6920)
rectorphp/rector-symfony 🎵
- Update to use ramsey/composer-install@v2 (#782)
- [Symfony 7.3] Make __invoke() public in InvokableCommandInputAttributeRector (#779), Thanks @mickverm
- Fix ClassConstFetch use on InvokableCommandInputAttributeRector (#778)
- [Symfony 7.3] handle name from constant on InvokableCommandInputAttributeRector (#777)
- [Symfony 7.3] Remove Argument argument: mode on InvokableCommandInputAttributeRector (#776), Thanks @mickverm
- [Symfony 7.3] Make nullable argument param type on Optional InputArgument::OPTIONAL on InvokableCommandInputAttributeRector (#775)
- [Symfony 7.3] Keep $output param on InvokableCommandInputAttributeRector (#774)
- [Symfony 7.3] Add Argument arguments: name, mode, description on InvokableCommandInputAttributeRector (#773)
- [Symfony 7.3] Handle with #[\Override] on InvokableCommandInputAttributeRector (#772)
rectorphp/rector-doctrine 🟠
- skip default param array, to respect colleciton type (#408)
- Add array<> support to /NarrowParamUnionToCollectionRector (#407)
- [typed-collections] Add CollectionSetterParamNativeTypeRector (#406)
- only remove new array collection to a new property (#405)
- Update to use ramsey/composer-install@v2 (#404)
- [typed-collections] Add embed many support InitializeCollectionInConstructorRector (#403)
- Add static call support to setter array collection wrap (#402)
- [typed-collections] Decouple RemoveIsArrayOnCollectionRector (#401)
- [typed-collections] Allow new array in tests for RemoveNewArrayCollectionOutsideConstructorRector (#400)
- [typed-collections] Allow new array in tests for RemoveNewArrayCollectionOutsideConstructorRector (#399)
- [typed-collections] Add nullable support to array wrapper rule (#398)
- [TypedCollections] Use directly param->type->type assign on RemoveNullFromNullableCollectionTypeRector (#397)
- [typed-collections] Add RemoveNullFromNullableCollectionTypeRector rule (#396)
- Typed collections fixes (#395)
- [typed-collections] remove DefaultNewArrayCollectionRector as duplicate of InitializeCollectionInConstructorRector (#394)
- Fix scoper Doctrine class in use statement prefixed with RectorPrefix (#393)
- [typed-collections] Add dozens of rules to handle doctrine collection types (#392)
- Rename ExplicitRelationCollectionRector to InitializeCollectionInConstructorRector (#391)
- [typed-collections] Make TypedPropertyFromToManyRelationTypeRector work only for native types, docblocks are handled in another rule (#390)
- [typed-collections] Decouple new namespace and move 4 rules there (#389)
- Directly use isName(s) and getName() on rector rules (#388)
- Add mapped superclass case to ToManyRelationPropertyTypeResolver (#387)
- Remove array on collection in TypedPropertyFromToManyRelationTypeRector (#386)
- Remove default null value in TypedPropertyFromToManyRelationTypeRector (#384)
rectorphp/rector-phpunit 🟢
- [code-quality] Add additional non-static methods to NonAssertNonStaticMethods (#497), Thanks @philiprabbett
- [CodeQuality] Skip in static arrow function on PreferPHPUnitThisCallRector (#496)
- Update to use ramsey/composer-install@v2 (#495)
- Only remove @Covers when target exists ([#494](https://github.com...
Released Rector 2.0.16
New Features 🥳
- [dx] add symfonyRoute and symfonyValidator option to ->withAttributesSets() to ease upgrade (#6882)
- [nette/utils] [4.0] Add upgrade set to handle named args in Json class (#6884)
Bugfixes 🐛
- [TypeDeclaration] Skip __destruct() from add return type based on parent on AddReturnTypeDeclarationBasedOnParentClassMethodRector (#6883)
- [CodeQuality] Skip with init non empty dynamic array on ForeachItemsAssignToEmptyArrayToAssignRector (#6881)
- UseIdenticalOverEqualWithSameTypeRector should not trust phpdoc (#6880), Thanks @staabm!
- [Php70] Handle class named Pool on Php4ConstructorRector (#6887)
- [Php73] Handle key() called multiple times on ArrayKeyFirstLastRector (#6888)
- Clean up repetitive recursive call and flag on ArrayKeyFirstLastRector (#6889)
- [Config] Handle config realpath() actually has asterisk, not pattern (#6891)
- [Php82] Handle implicit "public" on construtor promotion on ReadOnlyClassRector (#6895)
rectorphp/rector-symfony 🎵
- [Symfony73] Skip different object on GetFunctionsToAsTwigFunctionAttributeRector (#767)
- skip magic first class callable (#766)
- [symfony 7.2] AddPushRequestToRequestStackConstructorRector (#765)
- [Symfony 7.3] kick off GetFunctionsToAsTwigFunctionAttributeRector (#764)
- [Symfony 7.3] Handle first class callable on GetFiltersToAsTwigFilterAttributeRector (#763)
- Register symfony73-twig-bundle into Symfony7SetProvider (#762)
- [symfony 7.3] Add GetFiltersToAsTwigFilterAttributeRector to migrate #[TwigFilter] (#761)
- [code-quality] Improve TemplateAnnotationToThisRenderRector to keep ternary types (#758)
- Keep JsonResponse type (#757)
- Remove array shape return in TemplateAnnotationToThisRenderRector as no longer used (#755)
- Add attribute support to TemplateAnnotationToThisRenderRector (#754)
- [7.3] Update InvokableCommandRector to InvokableCommandInputAttributeRector to improve discoverability (#743)
rectorphp/rector-doctrine 🟠
- Remove array on collection in TypedPropertyFromToManyRelationTypeRector (#386)
- Remove default null value in TypedPropertyFromToManyRelationTypeRector (#384)
- [collection] Add embed many annotation support to TypedPropertyFromToManyRelationTypeRector (#383)
- Fix
#[AsListener]attribute location to doctrine bundle 2.8, deprecate doctrine constants and refer to composer based sets (#382)
rectorphp/rector-phpunit 🟢
Released Rector 2.0.15
New features and changes 🎉
- [parallel] bump default threads from 16 to 32 to keep up with modern technology (#6877)
Bugfixes 🐛
- [TypeDeclaration] Reduce repetitive new ObjectType() on each properties on TypedPropertyFromCreateMockAssignRector (#6869)
- [CodeQuality] Handle with parentheses on SimplifyIfReturnBoolRector (#6871)
- [Naming] Skip protected property on non-final class on RenamePropertyToMatchTypeRector (#6872)
- [PHPStan 2.1.14] Fix resolve __toString() parent non builtin method without return type (#6879)
- [phpstan] prefer isName() from abstract class over protected service (#6875)
- [DeadCode] Skip value from docblock on RemoveFilterVarOnExactTypeRector (#6873)
rectorphp/rector-symfony 🎵
- [symfony 6.2] Fix attribute adding on abstract class in MessageHandlerInterfaceToAttributeRector (#724)
rectorphp/rector-phpunit 🟢
- [depre] Remove deprecated AssertCountWithZeroToAssertEmptyRector (#483)
- Ensure that rule PreferPHPUnitSelfCall refactor call only for static methods, not any (#482), Thanks @andrew-demb
- [tests] add test fixture for double instanceof check (#481)
- [PhpUnit] Skip different object on PreferPHPUnit(This/Self)CallRector (#480)
Released Rector 2.0.14
Released Rector 2.0.13
Bugfixes 🐛
- [naming] Skip public properties in RenamePropertyToMatchTypeRector to avoid external code conflicts (#6860)
- feat: handle edge cases of DateFuncCallToCarbonRector (#6822), Thanks @tony-stark-eth!
- [CodeQuality] Skip ArrayDimFetch on IssetOnPropertyObjectToPropertyExistsRector (#6862)
- [type-declaration] Skip intersection type on TypedPropertyFromCreateMockAssignRector (#6863)
- [Configuration] Fix composer resolver with custom vendor-dir (#6864), Thanks @maxime-vf!
- Ensure pass string on PathNormalizer::normalize() on InstalledPackageResolver (#6865)
rectorphp/rector-symfony 🎵
- [Symfony 7.3] add constant and test for 7.3 and test help to attribute #718 (#722), Thanks @JohJohan
- Update fixture on parent construct empty usage (#719)
rectorphp/rector-doctrine 🟠
- improve add generics annotation to repository to code quality doctrine set (#380)
Released Rector 2.0.12
New Features 🥳
- [dx] [experimental] Prepend command name automatically if only paths are passed (#6759)
# before
vendor/bin/rector process src
# now - default command is run, no need to write the sole main command manually
vendor/bin/rector src- [Configuration] [experimental] Add ability to specify file path without extension (#6839)
- [type-declaration] Add AddClosureParamArrayWhereDimFetchRector (#6815)
- [dx] add test to check that a rule is not applied if it does not change the code (#6794), Thanks @carlos-granados!
- [renaming Add enum support to rename method (#6832)
- [Php83] Make configurable to allow add #[\Override] on override empty method on AddOverrideAttributeToOverriddenMethodsRector (#6831)
- [Transform] Follow parent construct before add new param on StaticCallToMethodCallRector (#6854)
Bugfixes 🐛
- Skip DateTime from property type to property renaming to keep code readable (#6812)
- Add a hint how to upgrade custom
SetListInterfaceto Rector 2.0 (#6816), Thanks @alexander-schranz! - Return if var type has changed in PhpDocTypeChanger (#6813), Thanks @carlos-granados!
- fix: RenamePropertyToMatchTypeRector renames DateTimeInterface (#6814), Thanks @tony-stark-eth!
- [TypeDeclaration] ReturnTypeFromStrictNewArrayRector support list (#6820), Thanks @staabm!
- [Php80] Handle null value on AnnotationToAttributeRector (#6821)
- [DeadCode] Handle crash on no stmts on ReplaceBlockToItsStmtsRector (#6824)
- [type-declaration] Override existing wrong type on TypedPropertyFromCreateMockAssignRector (#6826)
- [TypeDeclaration] Skip already typed with PHPUnit\Framework\MockObject\MockObject on TypedPropertyFromCreateMockAssignRector (#6827)
- [NodeTypeResolver] Pass null on 2nd arg on ReflectionProvider->getFunction() to ensure get correct function (#6829)
- [Php80] Handle aliased with multi properties on AnnotationToAttributeRector (#6838)
- [Configuration] Fix root standalone registered rules verify on RectorConfigBuilder (#6840)
- [Php73] Fix escaped single quote on RegexDashEscapeRector (#6843)
- [Php80] Handle crash on @testdoc with rector-phpunit AnnotationWithValueToAttributeRector (#6846)
- Fix scoped error on ClassConstFetchAnnotationToAttributeMapper (#6848)
- [PhpAttribute] Handle multi double colon on AnnotationWithValueToAttributeRector (#6851)
- [Transform] Follow empty parent construct parameters on StaticCallToMethodCallRector (#6855)
- [TypeDeclaration] Skip with closure inside on AddArrowFunctionParamArrayWhereDimFetchRector (#6817)
- [Php71] Skip replaced native function on RemoveExtraParametersRector (#6828)
- [DeadCode] Skip switch break not unreachable on RemoveUnreachableStatementRector (#6837)
rectorphp/rector-symfony 🎵
- Clean up #[RunClassInSeparateProcess] tweak (#721)
- [CodeQuality] Handle crash on no extensions on StringExtensionToConfigBuilderRector (#717)
- add ampersand support (#716)
- [code-quality] Add SplitAndSecurityAttributeToIsGrantedRector (#715)
- [code-quality] Add SecurityAttributeToIsGrantedRector (#714)
- [code-quality] Add attribute-existance check to SecurityAttributeToIsGrantedAttributeRector, add to code-quality set (#713)
- Skip excluded tag in container (#710), Thanks @Myks92
rectorphp/rector-doctrine 🟠
- [NodeAnalyzer] Handle no repositoryClass on RepositoryClassResolver (#379)
- Fix ImproveDoctrineCollectionDocTypeInEntityRector (#378), Thanks @carlos-granados
- Fix YamlToAttributeDoctrineMappingRector (#377), Thanks @carlos-granados
rectorphp/rector-phpunit 🟢
- [PHPUnit100] Skip already key = null on RemoveNamedArgsInDataProviderRector (#475)
- [PHPUnit90] Handle crash on different object without second arg on SpecificAssertContainsWithoutIdentityRector (#474)
- add test fixture (#473)
- Fix RemoveNamedArgsInDataProviderRector so that it is not applied if no change is made (#472), Thanks @carlos-granados
- [CodeQuality] fix assertInstanceOf casing (#471), Thanks @staabm
- [CodeQuality] Handle crash on multiple assert cause undefined variable on AddInstanceofAssertForNullableInstanceRector (#470)
Released Rector 2.0.11
New Features 🎉
- [TypeDeclaration] Handle nested method crashes on
AddParamTypeBasedOnPHPUnitDataProviderRector(#6772) - [TypeDeclaration] Skip void return on callback docblock in
AddArrowFunctionReturnTypeRector(#6780) - [Php84] Add
AddEscapeArgumentRector(#6782)
(#6790) - [dead-code] Add
RemoveFilterVarOnExactTypeRector(#6792)
@carlos-granados! - [Php84] Add
NewMethodCallWithoutParenthesesRector(#6802) - [CodingStyle] Add
FunctionLikeToFirstClassCallableRector(#6667), Thanks @peterfox! - [Rector Rule] Replace
date,strtotime, andtimecalls withCarbonequivalents (#6749), Thanks @gollumeo!
Bugfixes 🐛
- Fix
AddReturnArrayDocblockBasedOnArrayMapRector(#6800), Thanks @carlos-granados! - Fix
AddParamTypeBasedOnPHPUnitDataProviderRector(#6799), Thanks - [dx] Log rules registered in both
withRules()and sets, keeping them once to avoid duplication (#6761) - Fix method name in
StaticCallToMethodCallRector(#6789), Thanks @parth391! - Fix
MultiDirnameRector(#6796), Thanks @carlos-granados! - Fix
ConsecutiveNullCompareReturnsToNullCoalesceQueueRector(#6797), Thanks @carlos-granados! - Fix
WrapReturnRector(#6798), Thanks @carlos-granados! - Fix
ArgumentDefaultValueReplacer(#6795), Thanks @carlos-granados! - Fix
ParamTypeByMethodCallTypeRector(#6803), Thanks @carlos-granados! - Fix nested alias unused import (#6807), Thanks @Myks92!
- [CodeQuality] Improve
SimplifyIfElseToTernaryRectorto handle binary operations on the left (#6810) - Update
AnonymousFunctionFactoryto disallow superglobal variables in use statements (#6811), Thanks @bryannielsen!
Removed & Deprecations 🗑️
- [deprecation] Add explicit warning to deprecated
withPhpPolyfill()method and error onwithPhpSets()misuse on PHP 7.4- projects - [DeadCode] Skip used-by-property hook on
RemoveUnusedPromotedPropertyRector(#6765) - [DeadCode] Skip side-effect cases on
RemoveDeadLoopRector(#6770) - [deprecated] Remove deprecated
AbstractScopeAwareRector(#6791)
rectorphp/rector-symfony 🎵
- [code-quality] Add
RequestIsMainRector(#708) - [symfony 7.3] Add
InvokableCommandRector- kick off (#707) - feat: Add Flysystem key support (#705), Thanks @dsdeboer
- [CodeQuality] Enhance
InlineClassRoutePrefixRectorto concatenate name annotation/attribute (#704)
rectorphp/rector-doctrine 🟠
- [BUNDLE-230] Add
AddAnnotationToRepositoryRectorrule (#375), Thanks @JohJohan - [ORM-300] Add
CastDoctrineExprToStringRector(#372), Thanks @JohJohan - [ORM-213] Add replace method call support (#369), Thanks @JohJohan
- [deprecated] Remove deprecated
MakeEntityDateTimePropertyDateTimeInterfaceRector(#376)
rectorphp/rector-phpunit 🟢
- [code-quality] Add
RemoveDataProviderParamKeysRector(#469) - [CodeQuality] Add
AddInstanceofAssertForNullableInstanceRector(#466) - [deprecated] Remove deprecated
AssertCompareToSpecificMethodRector(#468) - [deprecated] Deprecate
AssertCountWithZeroToAssertEmptyRectorfor better readability with explicit methods (#467)
Released Rector 2.0.10
New Features 🥳
- Add GitHub output formatter (#6747), Thanks @neilime!
- JUnit output format (#6726), Thanks @VitalyArt!
- [dx] warn about too high level configuration and suggets more efficient set (#6735)
Bugfixes 🐛
- [PhpParser] Re-add back get value from
__DIR__and__FILE__onValueResolver(#6756) - [TypeDeclaration] Skip already typed param on AddClosureParamTypeForArrayReduceRector (#6737)
- [TypeDeclaration] Skip already typed param on AddClosureParamTypeForArrayMapRector (#6738)
- [Renaming] Handle crash on assign on for loop on RenameFunctionRector (#6730)
- [CodeQuality] Skip unused static methods in LocallyCalledStaticMethodToNonStaticRector, as should be handled by another rule (#6731)
- [Carbon] Fix refactor time to carbon to use ->getTimestamp() over ->timestamp (#6733)
- [TypeDeclaration] Unregister AddClosureParamTypeForArrayMapRector and AddClosureParamTypeForArrayReduceRector due to may read from docblock (#6727)
- [TypeDeclaration] Handle crash on union intersection on AddClosureParamTypeForArrayReduceRector (#6729)
- [Privatization] Skip magic method on PrivatizeFinalClassMethodRector (#6734)
- [Php74] Skip property hook on RestoreDefaultNullToNullableTypePropertyRector (#6736)
- [Php53] Handle parentheses in else on TernaryToElvisRector (#6740)
- [Php81] Handle crash Class parent was not found on MyCLabsMethodCallToEnumConstRector (#6741)
- [CodeQuality] Handle crash division by zero error on ForeachItemsAssignToEmptyArrayToAssignRector (#6743)
- fix(ValueObject): FileDiff first line number is below as expected (#6746), Thanks @neilime!
- [naming] Skip variadic params in RenameParamToMatchTypeRector to avoid single naming for multiple types (#6748)
- Do not try to refresh attributes (#6750), Thanks @lyrixx!
- [Php74] Skip with @var doc with more specific type on ClosureToArrowFunctionRector (#6753)
- [Php81] Skip property hook on ReadOnlyPropertyRector (#6758)
- [code-quality] Skip complex new instance with args assigns in InlineArrayReturnAssignRector (#6762)
- [CodeQuality] Handle crash first class callable on InlineArrayReturnAssignRector (#6763)
- [dx] Remove 3 rules registered in both code quality and coding style levels, keep them in coding style level only (#6757)
rectorphp/rector-symfony
- [Symfony] Add attribute routing with mix other annotation (#703)
- [code-quality] Add InlineClassRoutePrefixRector (#701)
- Do not change method if name does not need to change (#700), Thanks @carlos-granados
- [code-quality] Add attribute support (#702)
- [SYMFONY 5 & 6] Security add missing param (#699), Thanks @JohJohan
rectorphp/rector-doctrine
- [code-quality] Add GetRepositoryServiceLocatorToRepositoryServiceInjectionRector (#368)
- [NodeAnalyzer] Ensure mix annotation and attribute lookup finder on AttrinationFinder::findManyBy* (#367)
- Add AttrinationFinder::findManyBy() (#366)
- Orm querybuilder set parameters to collection (#326), Thanks @marcelthole
rectorphp/rector-phpunit
Released Rector 2.0.9
Bugfixes 🐛
- [Php81] Exclude Doctrine ODM MongoDB Document and EmbeddedDocument from ReadOnlyPropertyRector (#6721), Thanks @mickverm!
- [PostRector] Handle with FQCN docblock on UnusedImportRemovingPostRector (#6722)
- Type hint array reduce closure (#6725), Thanks @peterfox!
- [PHPStan 2.1.3] Add ReflectionAttribute and ReflectionIntersectionType stub for PHPStan 2.1.3 (#6723)
Released Rector 2.0.8
New Features 🥳
- feat: add coding style levels (#6695), Thanks @carlos-granados!
Bugfixes 🐛
- [CodeQuality] Skip with comment inside on SimplifyIfElseToTernaryRector (#6683)
- [CodeQuality] Skip windows absolute path on AbsolutizeRequireAndIncludePathRector (#6684)
- [Strict] Handle in assign on BooleanInIfConditionRuleFixerRector (#6685)
- Replace ambiguous wrapped_with_brackets with existing attribute wrapped_in_parentheses (#6691)
- [NodeTypeResolver] Clean up wrap in parentheses check ReprintNodeVisitor (#6692)
- [Php80][TypeDeclaration] Fix crash on ClassPropertyAssignToConstructorPromotionRector + ReturnNeverTypeRector (#6694)
- CodeClimate output format (#6697), Thanks @VitalyArt!
- Exclude node modules path (#6702), Thanks @vaishnavyogesh!
- Fix str_getcsv() escape argument on PHP 8.4 (#6704)
- [Php74] Handle crash curly based array on trait on CurlyToSquareBracketArrayStringRector (#6706)
- [Php73] Handle infinite cast on StringifyStrNeedlesRector (#6707)
- Clean up unused use (#6708)
- fix: NewlineBeforeNewAssignSetRector variable as same name like property (#6705), Thanks @guideloince!
- [TypeDeclaration] Skip override trait method on StrictStringParamConcatRector (#6711)
- [Test] Clean up test on WorkerCommandLineFactoryTest (#6714)
- [DX] Move isWindows() method from AbstractRectorTestCase to AbstractLazyTestCase (#6715)
- [Performance] Use exactly equal or append / file path check on RealpathMatcher (#6716)
- [TypeDeclaration] Allow union with closure type on property on TypedPropertyFromAssignsRector (#6717)
- [DeadCode] Skip union falsy mixed on trait on RecastingRemovalRector (#6718)
- Skip hexa chars in EncapsedStringsToSprintfRector (#6719)
- [CodingStyle] Rename method: containsASCIIChar to containsControlASCIIChar on EncapsedStringsToSprintfRector (#6720)