drevops / behat-steps

🧪 A collection of Behat step definitions for Drupal
GNU General Public License v3.0
18 stars 13 forks source link

chore(deps): update dependency rector/rector to v0.18.5 #137

Closed renovate[bot] closed 1 year ago

renovate[bot] commented 1 year ago

Mend Renovate

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
rector/rector (source) 0.15.13 -> 0.18.5 age adoption passing confidence

Release Notes

rectorphp/rector (rector/rector) ### [`v0.18.5`](https://togithub.com/rectorphp/rector/releases/tag/0.18.5): Released Rector 0.18.5 [Compare Source](https://togithub.com/rectorphp/rector/compare/0.18.4...0.18.5) #### New Features and Improvements :partying_face: - \[build] Remove duplicated phpstan/phpstan from the build, as require by build package in composer.json already (https://github.com/rectorphp/rector-src/commit/51ed7b693fbfab70cf6a246bec4cc35f0ceacf7a) - AddParamTypeBasedOnPHPUnitDataProviderRector: Check all data providers ([#​5068](https://togithub.com/rectorphp/rector-src/pull/5068)), Thanks [@​jlherren](https://togithub.com/jlherren)! - AddParamTypeBasedOnPHPUnitDataProviderRector: Enhance existing rule to handle PHPUnit 10+ DataProvider Attribute ([#​4925](https://togithub.com/rectorphp/rector-src/pull/4925)), Thanks [@​mcampbell508](https://togithub.com/mcampbell508)! - make PhpDocInfo::findByAnnotationClass() public to use in Symfony rules ([#​5103](https://togithub.com/rectorphp/rector-src/pull/5103))
#### Bugfixes :bug: - Feature/fix class annotation bad print ([#​5081](https://togithub.com/rectorphp/rector-src/pull/5081)), Thanks [@​etshy](https://togithub.com/etshy)! - \[Performance] Avoid ReflectionProvider check function exists on NameImportingPostRector ([#​5083](https://togithub.com/rectorphp/rector-src/pull/5083)) - InlineConstructorDefaultToPropertyRector Readonly Class ([#​5085](https://togithub.com/rectorphp/rector-src/pull/5085)), Thanks [@​beschoenen](https://togithub.com/beschoenen)! - \[CodeQuality] Handle crash on variable variable on assign closure on OptionalParametersAfterRequiredRector ([#​5089](https://togithub.com/rectorphp/rector-src/pull/5089)) - \[NodeTypeResolver] Use isScalar()->yes() usage on StaticTypeAnalyzer and ScalarTypeComparator services ([#​5099](https://togithub.com/rectorphp/rector-src/pull/5099)) - \[ProcessAnalyzer] Ensure instanceof Stmt on check infinite loop on not yet has "created_by_rule" attribute ([#​5100](https://togithub.com/rectorphp/rector-src/pull/5100)) - \[DX] Rename shouldImportName() to shouldSkipName() on ClassNameImportSkipper ([#​5107](https://togithub.com/rectorphp/rector-src/pull/5107)) - The ReturnTypeFromReturnNewRector must only handle new instances, to avoid leaking to everything ([#​5115](https://togithub.com/rectorphp/rector-src/pull/5115)) - \[Php80] Skip when already implements Stringable and has string return type on StringableForToStringRector ([#​5120](https://togithub.com/rectorphp/rector-src/pull/5120))
#### Removed and Deprecated :skull: - \[DX] Remove CurrentFileProvider dependency on ChangedNodeScopeRefresher ([#​5087](https://togithub.com/rectorphp/rector-src/pull/5087)) - \[DX] Remove DependencyClassMethodDecorator as not used anymore due to paralel nature ([#​5094](https://togithub.com/rectorphp/rector-src/pull/5094)) - \[PostRector] Remove CurrentFileProvider on PostFileProcessor ([#​5097](https://togithub.com/rectorphp/rector-src/pull/5097)) - \[Comments] Remove unused copy Node object on CommentRemover ([#​5103](https://togithub.com/rectorphp/rector-src/pull/5103)) - \[Performance]\[AutoImport] Remove just renamed check on ClassNameImportSkipper ([#​5106](https://togithub.com/rectorphp/rector-src/pull/5106)) - Deprecate CountOnNullRector as depends on previous context and require manual adjustment of previous result ([#​5101](https://togithub.com/rectorphp/rector-src/pull/5101)) ### [`v0.18.4`](https://togithub.com/rectorphp/rector/releases/tag/0.18.4): Released Rector 0.18.4 [Compare Source](https://togithub.com/rectorphp/rector/compare/0.18.3...0.18.4) #### New Features and Improvements :partying_face: - **Introducing Collectors** :partying_face: - processing collected data + test case ([#​4970](https://togithub.com/rectorphp/rector-src/pull/4970)) - Run tests on macos ([#​5019](https://togithub.com/rectorphp/rector-src/pull/5019)), Thanks [@​staabm](https://togithub.com/staabm)! - Move betterNodeFinder, valueResolver, phpDocInfoFactory dependencies from AbstractRector into rules ([#​5071](https://togithub.com/rectorphp/rector-src/pull/5071)) - DX: Validate paths in RectorConfig->paths() ([#​5065](https://togithub.com/rectorphp/rector-src/pull/5065)), Thanks [@​staabm](https://togithub.com/staabm)! - \[DX] Make PhpDocInfoFactory explicitly required in Rector rule constructor, if needed ([#​5051](https://togithub.com/rectorphp/rector-src/pull/5051)) - \[DX] Make ValueResolver explicitly required in Rector rules constructor if needed ([#​5052](https://togithub.com/rectorphp/rector-src/pull/5052))
#### Bugfixes :bug: - \[DeadCode] RemoveDeadZeroAndOneOperationRector should not remove Constants ([#​4910](https://togithub.com/rectorphp/rector-src/pull/4910)), Thanks [@​TwanVermeulen](https://togithub.com/TwanVermeulen)! - \[PostRector] Fix unused import not removed on empty generic class name exists ([#​5012](https://togithub.com/rectorphp/rector-src/pull/5012)) - \[Parallel] Handle Spaced root project main script on parallel process ([#​4813](https://togithub.com/rectorphp/rector-src/pull/4813)) - Fix TypedPropertyFromStrictConstructor\* order ([#​5021](https://togithub.com/rectorphp/rector-src/pull/5021)), Thanks [@​staabm](https://togithub.com/staabm)! - \[DX] Lower current node dependency - pass it directly to doc node parsing ([#​5023](https://togithub.com/rectorphp/rector-src/pull/5023)) - \[AutoImport] Fix conflict current namespace auto import ([#​5024](https://togithub.com/rectorphp/rector-src/pull/5024)) - Simplify UseIdenticalOverEqualWithSameTypeRector ([#​5029](https://togithub.com/rectorphp/rector-src/pull/5029)), Thanks [@​staabm](https://togithub.com/staabm)! - \[Performance]\[Testing] Use str_contains instead of regex in FixtureSplitter ([#​5030](https://togithub.com/rectorphp/rector-src/pull/5030)) - Fix ArrayKeyFirstLastRector: Skip exection when pointer is changed ([#​5038](https://togithub.com/rectorphp/rector-src/pull/5038)), Thanks [@​scyzoryck](https://togithub.com/scyzoryck)! - \[TypeDeclaration] Handle fallback from param same type object on ReturnTypeFromReturnNewRector ([#​5039](https://togithub.com/rectorphp/rector-src/pull/5039)) - \[NodeTypeResolver] Use Scope->getType() on ArrayDimFetch on NodeTypeResolver::getNativeType() ([#​5037](https://togithub.com/rectorphp/rector-src/pull/5037)) - \[NodeTypeResolver] pull getType() on ArrayDimFetch when not mixed type from its variable native definition ([#​5056](https://togithub.com/rectorphp/rector-src/pull/5056)) - \[CodingStyle]\[EarlyReturn] Fix infinite if else on BinarySwitchToIfElseRector+RemoveAlwaysElseRector ([#​5057](https://togithub.com/rectorphp/rector-src/pull/5057)) - \[TypeDeclaration] Skip ArrayDimFetch for return and param types ([#​5059](https://togithub.com/rectorphp/rector-src/pull/5059)), Thanks [@​staabm](https://togithub.com/staabm)! - \[NodeTypeResolver] Handle optional array shape on native function like with ArrayDimFetch ([#​5062](https://togithub.com/rectorphp/rector-src/pull/5062)) - \[Php80] Mirror switch comment to match to ChangeSwitchToMatchRector ([#​5072](https://togithub.com/rectorphp/rector-src/pull/5072)) - \[AutoImport] Skip case insensitive conflict defined class name on $rectorConfig->importNames() ([#​5076](https://togithub.com/rectorphp/rector-src/pull/5076)) - Docblock fix on ShortNameResolver ([#​5077](https://togithub.com/rectorphp/rector-src/pull/5077)) - \[TypeDeclaration] Add return static property support on ReturnTypeFromStrictTypedPropertyRector ([#​5050](https://togithub.com/rectorphp/rector-src/pull/5050))
#### Removed and Deprecated :skull: - \[Config] Remove asterisk support in import() for file, use explicit paths instead ([#​5010](https://togithub.com/rectorphp/rector-src/pull/5010)) - \[Performance] Remove regex check on open tag spaced check on FileProcessor ([#​5073](https://togithub.com/rectorphp/rector-src/pull/5073)) - Deprecate TypedPropertyFromStrictConstructorReadonlyClassRector as based on docblock and public elements; use private elements and property promotion instead ([#​5049](https://togithub.com/rectorphp/rector-src/pull/5049)) - Deprecate BinarySwitchToIfElseRector as opinionated to allow more suitable match() refactoring ([#​5064](https://togithub.com/rectorphp/rector-src/pull/5064)) ### [`v0.18.3`](https://togithub.com/rectorphp/rector/releases/tag/0.18.3): Released Rector 0.18.3 [Compare Source](https://togithub.com/rectorphp/rector/compare/0.18.2...0.18.3) #### New Features and Changes :partying_face: - **\[BC] docblock changes in custom Rector rules now have to be reprinted directly in the rule -[https://github.com/rectorphp/rector/issues/8201#issue-1894148095](https://togithub.com/rectorphp/rector/issues/8201#issue-1894148095)5** - \[TypeDeclaration] Add return empty string defined support on ReturnTypeFromStrictScalarReturnExprRector ([#​4919](https://togithub.com/rectorphp/rector-src/pull/4919)) - \[TypeDeclaration] Add fallback return direct array support on ReturnTypeFromStrictNewArrayRector ([#​4928](https://togithub.com/rectorphp/rector-src/pull/4928)) - \[TypeDeclaration] Add init assign method call support on ReturnTypeFromStrictNewArrayRector ([#​4929](https://togithub.com/rectorphp/rector-src/pull/4929)) - \[TypeDeclaration] Ensure ArrayType on ReturnTypeFromStrictNewArrayRector::shouldAddReturnArrayDocType() ([#​4932](https://togithub.com/rectorphp/rector-src/pull/4932)) - \[TypeDeclaration] Add test fixture return docblock on init method call assign as skipped on ReturnTypeFromStrictNewArrayRector ([#​4933](https://togithub.com/rectorphp/rector-src/pull/4933)) - \[TypeDeclaration] Add non native function return support on ReturnTypeFromStrictScalarReturnExprRector ([#​4934](https://togithub.com/rectorphp/rector-src/pull/4934)) - **BC: Separated regex matching in NodeNameResolver->isName() ([#​4951](https://togithub.com/rectorphp/rector-src/pull/4951)), Thanks [@​staabm](https://togithub.com/staabm)!** - Add support for Custom Skip Voters ([#​5002](https://togithub.com/rectorphp/rector-src/pull/5002)), Thanks [@​kaczenski](https://togithub.com/kaczenski)! - Implement a max jobs per worker budget ([#​4965](https://togithub.com/rectorphp/rector-src/pull/4965)), Thanks [@​staabm](https://togithub.com/staabm)! - Prevent unnecessary calls to spl_object_id() ([#​4992](https://togithub.com/rectorphp/rector-src/pull/4992)), Thanks [@​staabm](https://togithub.com/staabm)! - Refactor use import resolving ([#​4998](https://togithub.com/rectorphp/rector-src/pull/4998)), Thanks [@​staabm](https://togithub.com/staabm)! - NodeNameResolver: Throw exception in BC breaking path ([#​4980](https://togithub.com/rectorphp/rector-src/pull/4980)), Thanks [@​staabm](https://togithub.com/staabm)! - \[Internals] Decouple output from AbstractRector, narrow debugging output to file path ([#​4976](https://togithub.com/rectorphp/rector-src/pull/4976)) - Update docblock only when changed, directly in rector rule ([#​4986](https://togithub.com/rectorphp/rector-src/pull/4986))
#### Bugfixes :bug: - AddVoidReturnTypeWhereNoReturnRector: fix never type handling ([#​4918](https://togithub.com/rectorphp/rector-src/pull/4918)), Thanks [@​staabm](https://togithub.com/staabm)! - \[TypeDeclaration] Skip return after return closure on AddVoidReturnTypeWhereNoReturnRector ([#​4930](https://togithub.com/rectorphp/rector-src/pull/4930)) - \[TypeDeclaration] Use $type->isScalar()->yes() on AlwaysStrictScalarExprAnalyzer ([#​4920](https://togithub.com/rectorphp/rector-src/pull/4920)) - Refactor BetterNodeFinder::findFirstInFunctionLikeScoped() to work with SilentVoidResolver ([#​4931](https://togithub.com/rectorphp/rector-src/pull/4931)) - \[NodeTypeResolver] Handle isObjectType() on new $class dynamic variable should return false compare to Object FQCN ([#​4936](https://togithub.com/rectorphp/rector-src/pull/4936)) - \[Testing] Fix running unit test on macOS ([#​4941](https://togithub.com/rectorphp/rector-src/pull/4941)) - Faster name resolving ([#​4955](https://togithub.com/rectorphp/rector-src/pull/4955)), Thanks [@​staabm](https://togithub.com/staabm)! - UseImportsTraverser: don't deep traverse ([#​4994](https://togithub.com/rectorphp/rector-src/pull/4994)), Thanks [@​staabm](https://togithub.com/staabm)! - \[tests] Replace wildcard e2e test with unit one ([#​5000](https://togithub.com/rectorphp/rector-src/pull/5000)) - \[DocBlock] Update docblock contents right in the rule ([#​4999](https://togithub.com/rectorphp/rector-src/pull/4999)) - \[PhpParser] Fix crash read jetbrains/phpstorm-stubs included in phpstan.phar on PHP 8.0 and PHP 7.4 ([#​5001](https://togithub.com/rectorphp/rector-src/pull/5001)) - RenameFunctionRector: prevent repeated isName() calls ([#​5003](https://togithub.com/rectorphp/rector-src/pull/5003)), Thanks [@​staabm](https://togithub.com/staabm)! - Make PhpDocINfo::removeByType() return bool to inform about changed node ([#​4979](https://togithub.com/rectorphp/rector-src/pull/4979))
#### Removed :skull: - \[cleanup] Remove deprecated NonPhpRectorInterface, PseudoNamespaceToNamespaceRector and mysql to mysqli sets ([#​4927](https://togithub.com/rectorphp/rector-src/pull/4927)) - Remove UnSpreadOperatorRector as not clear value and spread used on purpose ([#​4949](https://togithub.com/rectorphp/rector-src/pull/4949)) - \[Naming] Remove matchesStringName() check completely from NodeNameResolver, including endsWith() method - use getName() and compare directly instead ([#​4954](https://togithub.com/rectorphp/rector-src/pull/4954)) - \[Performance]\[Php55] Remove regex replace e on RegexMatcher ([#​4974](https://togithub.com/rectorphp/rector-src/pull/4974)) - Remove CurrentRectorProvider and used for docblock changes report, return bool value and node directly in the rector rule instead ([#​4982](https://togithub.com/rectorphp/rector-src/pull/4982)) - Deprecated PhpDocInfo::markAsChanged() to ensure doc block is changed directly in the Rector rule ([#​4987](https://togithub.com/rectorphp/rector-src/pull/4987)) ### [`v0.18.2`](https://togithub.com/rectorphp/rector/releases/tag/0.18.2): Released Rector 0.18.2 [Compare Source](https://togithub.com/rectorphp/rector/compare/0.18.1...0.18.2) #### New Features and Changes :partying_face: - Add MyCLabs enum equals + keeping methods ([#​4645](https://togithub.com/rectorphp/rector-src/pull/4645)), Thanks [@​K0nias](https://togithub.com/K0nias)! - \[TypeDeclaration] skip variadic constructor param of mixed type on AddParamTypeFromPropertyTypeRector ([#​4887](https://togithub.com/rectorphp/rector-src/pull/4887)), Thanks [@​Celebrate-Reinhard](https://togithub.com/Celebrate-Reinhard)! - \[TypeDeclaration] Do not add default value when assigned in \__construct() on TypedPropertyFromStrictGetterMethodReturnTypeRector ([#​4886](https://togithub.com/rectorphp/rector-src/pull/4886)) - \[TypeDeclaration] Add ReturnTypeFromStrictFluentReturnRector ([#​4890](https://togithub.com/rectorphp/rector-src/pull/4890)) - Add single value concat support to EncapsedStringsToSprintfRector ([#​4897](https://togithub.com/rectorphp/rector-src/pull/4897)) - Add number support to concat EncapsedStringsToSprintfRector ([#​4898](https://togithub.com/rectorphp/rector-src/pull/4898)) - \[DeadCode] Remove [@​return](https://togithub.com/return) void on return self on RemoveUselessReturnTagRector ([#​4894](https://togithub.com/rectorphp/rector-src/pull/4894)) - Add test case for caching $rectorConfig->rules() changed ([#​4903](https://togithub.com/rectorphp/rector-src/pull/4903)) - \[CodeQuality] Add NumberCompareToMaxFuncCallRector ([#​4914](https://togithub.com/rectorphp/rector-src/pull/4914)) - \[TypeDeclaration] Add return self object support on ReturnTypeFromStrictFluentReturnRector ([#​4915](https://togithub.com/rectorphp/rector-src/pull/4915)) - \[TypeDeclaration] Add return static object support on ReturnTypeFromStrictFluentReturnRector ([#​4916](https://togithub.com/rectorphp/rector-src/pull/4916))
#### Bugfixes :bug: - \[Caching] Add VersionResolver::PACKAGE_VERSION to FileHashComputer::compute() so cache cleared on composer update got new version ([#​4904](https://togithub.com/rectorphp/rector-src/pull/4904)) - \[TypeDeclaration] Using ClassMethodReturnTypeOverrideGuard on ReturnTypeFromStrictParamRector ([#​4878](https://togithub.com/rectorphp/rector-src/pull/4878)) - \[e2e] $rectorConfig->skip() should not skip inside different path over config ([#​4882](https://togithub.com/rectorphp/rector-src/pull/4882)) - Fix missing default string in TypedPropertyFromStrictGetterMethodReturnTypeRector ([#​4885](https://togithub.com/rectorphp/rector-src/pull/4885)) - Fix tests fixture updater ([#​4892](https://togithub.com/rectorphp/rector-src/pull/4892)) - Fix union type check of object ([#​4893](https://togithub.com/rectorphp/rector-src/pull/4893)) - Simplify isMatchingUnionType() ([#​4895](https://togithub.com/rectorphp/rector-src/pull/4895)), Thanks [@​staabm](https://togithub.com/staabm)! - Skip identical to false in SimplifyBoolIdenticalTrueRector, as exact comparison is stronger than negated expression ([#​4901](https://togithub.com/rectorphp/rector-src/pull/4901)) - Fix Rector invalidation in case of changes sets or rules ([#​4902](https://togithub.com/rectorphp/rector-src/pull/4902)) - \[TypeDeclaration] Skip mixing native + docblock union assign on TypedPropertyFromAssignsRector ([#​4905](https://togithub.com/rectorphp/rector-src/pull/4905)) - StrictArrayParamDimFetchRector: Skip objects ([#​4907](https://togithub.com/rectorphp/rector-src/pull/4907)), Thanks [@​staabm](https://togithub.com/staabm)! - FamilyRelationsAnalyzer: final classes can't have children ([#​4913](https://togithub.com/rectorphp/rector-src/pull/4913)), Thanks [@​staabm](https://togithub.com/staabm)! - \[Config] Remove $isBound usage as cause empty configuration on RectorConfig ([#​4880](https://togithub.com/rectorphp/rector-src/pull/4880)) ### [`v0.18.1`](https://togithub.com/rectorphp/rector/releases/tag/0.18.1): Released Rector 0.18.1 [Compare Source](https://togithub.com/rectorphp/rector/compare/0.18.0...0.18.1) This release is accompanied by 2 posts that explains behind the scenes context: - [Rector 0.18 - From Symfony Container to Laravel and How to Upgrade your Extensions](https://getrector.com/blog/rector-018-from-symfony-container-to-laravel-and-how-to-upgrade-your-extensions) - [Rector 0.18 - How we made tests Seven Times Faster](https://getrector.com/blog/rector-018-how-we-made-tests-seven-times-faster)
#### New Features and Changes :partying_face: - **\[CI] Narrow tests to single job, as now takes 20 s :rocket:** ([#​4827](https://togithub.com/rectorphp/rector-src/pull/4827)) - \[Config] Handle $rectorConfig->import() with wildcards \* config ([#​4832](https://togithub.com/rectorphp/rector-src/pull/4832)) - \[DX] Display rule count in list-rules ([#​4848](https://togithub.com/rectorphp/rector-src/pull/4848)) - Skip PHPDoc return type in AddReturnTypeDeclarationBasedOnParentClassMethodRector ([#​4809](https://togithub.com/rectorphp/rector-src/pull/4809)), Thanks [@​staabm](https://togithub.com/staabm)! - AddReturnTypeDeclarationBasedOnParentClassMethodRector: don't trust phpdoc types ([#​4810](https://togithub.com/rectorphp/rector-src/pull/4810)), Thanks [@​staabm](https://togithub.com/staabm)! - \[DX] Add optional testdox/pest like output to get exact test metrics per unit test fixture ([#​4821](https://togithub.com/rectorphp/rector-src/pull/4821)) - \[TypeDeclaration] Add new array replaced with array on ReturnTypeFromStrictNewArrayRector ([#​4825](https://togithub.com/rectorphp/rector-src/pull/4825)) - \[DX] Merge PhpRectorInterface to RectorInterface as identical contract and separation no longer needed ([#​4812](https://togithub.com/rectorphp/rector-src/pull/4812)) - \[PHPStan] Avoid removing bleeding edge from phar include, let user handle own phpstan configuration ([#​4840](https://togithub.com/rectorphp/rector-src/pull/4840))
#### Bugfixes :bug: - \[Php73]\[Php80] Handle empty long array syntax default value on SensitiveConstantNameRector+AddParamBasedOnParentClassMethodRector ([#​4837](https://togithub.com/rectorphp/rector-src/pull/4837)) - \[Config] Add merging of rules configuration, call configure() just once ([#​4838](https://togithub.com/rectorphp/rector-src/pull/4838)) - Fix RenamePropertyToMatchTypeRector to skip Laravel collections and avoid accident rename ([#​4811](https://togithub.com/rectorphp/rector-src/pull/4811)) - \[BetterPhpDocParser] Enable textBetweenTagsBelongsToDescription on BetterPhpDocParser extends PhpDocParser ([#​4817](https://togithub.com/rectorphp/rector-src/pull/4817)) - \[PHPUnit] Fix extreemely slow PHPUnit run on data providers with objects ([#​4823](https://togithub.com/rectorphp/rector-src/pull/4823)) - \[AutoImport] Handle case insensitive name collide on auto import ([#​4829](https://togithub.com/rectorphp/rector-src/pull/4829)) - \[Traverser] Set explicitely nodeConnectingVisitorCompatibility: false config in config/phpstan/static-reflection.neon ([#​4841](https://togithub.com/rectorphp/rector-src/pull/4841)) - replaces `get_headers` $associative with bool ([#​4850](https://togithub.com/rectorphp/rector-src/pull/4850)), Thanks [@​mvhirsch](https://togithub.com/mvhirsch)! - \[Php55]\[Renaming] Handle rename string on combination StringClassNameToClassConstantRector+RenameStringRector ([#​4869](https://togithub.com/rectorphp/rector-src/pull/4869)) - \[Php80] Handle crash parent default empty array/string param on AddParamBasedOnParentClassMethodRector ([#​4833](https://togithub.com/rectorphp/rector-src/pull/4833))
#### Removed :skull: - Remove deprecated `FileProcessorInterface` ([#​4835](https://togithub.com/rectorphp/rector-src/pull/4835)) - Remove `SwapFuncCallArgumentsRector` as keeps swaping to infinity, use custom rule instead ([#​4874](https://togithub.com/rectorphp/rector-src/pull/4874)) ### [`v0.18.0`](https://togithub.com/rectorphp/rector/releases/tag/0.18.0): Released Rector 0.18.0 with Laravel container ⚡️ [Compare Source](https://togithub.com/rectorphp/rector/compare/0.17.13...0.18.0) #### New Features and Changes :partying_face: - **\[DI] Switch container to Laravel - final step 🥳 ([#​4698](https://togithub.com/rectorphp/rector-src/pull/4698))** - do you use `$rectorConfig->import('src/*');` with mask? - this is removed now, use explicit real paths instead - \[DI] Remove symfony/dependency-injection dependency ([#​4796](https://togithub.com/rectorphp/rector-src/pull/4796)) - \[DI] Add symfony config BC warnings layer, to inform about an upgrade ([#​4800](https://togithub.com/rectorphp/rector-src/pull/4800)) - Add possibility to add multiple phpstan configs ([#​4798](https://togithub.com/rectorphp/rector-src/pull/4798)), Thanks [@​alexander-schranz](https://togithub.com/alexander-schranz)! - \[DX] Make use of `addParameter()` ([#​4801](https://togithub.com/rectorphp/rector-src/pull/4801)) - Add deprecation warning for `FileProcessorInterface` ([#​4808](https://togithub.com/rectorphp/rector-src/pull/4808))
#### Bugfixes :bug: - \[DeadCode] Handle duplicated annotation on space before close parentheses on RemoveUselessParamTagRector ([#​4795](https://togithub.com/rectorphp/rector-src/pull/4795)) - Fix skip() Rector class, make container forget it comleteely ([#​4807](https://togithub.com/rectorphp/rector-src/pull/4807)) ### [`v0.17.13`](https://togithub.com/rectorphp/rector/releases/tag/0.17.13): Released Rector 0.17.13 [Compare Source](https://togithub.com/rectorphp/rector/compare/0.17.12...0.17.13) #### New Features and Changes :partying_face: - \[TypeDeclaration] Skip in conditional on AddParamTypeFromPropertyTypeRector ([#​4779](https://togithub.com/rectorphp/rector-src/pull/4779)) - \[DX] Deprecate NonPhpRectorInterface, the only rule and its file processor, to make Rector handle exlusively PHP ([#​4761](https://togithub.com/rectorphp/rector-src/pull/4761)) - Bump nikic/php-parser to 4.17 ([#​4781](https://togithub.com/rectorphp/rector-src/pull/4781))
#### Removed :skull: - Remove SwapMethodCallArgumentsRector as could lead to infinite swapping, use custom rule with type/value check instead ([#​4766](https://togithub.com/rectorphp/rector-src/pull/4766)) - \[Php81] Remove IntersectionTypesRector as rely on docblock ([#​4784](https://togithub.com/rectorphp/rector-src/pull/4784))
#### Bugfixes :bug: - \[DeadCode] Skip used by trait on RemoveUnusedPrivateMethodRector ([#​4770](https://togithub.com/rectorphp/rector-src/pull/4770)) - \[DeadCode] Skip used by trait inside Closure on RemoveUnusedPrivateMethodRector ([#​4773](https://togithub.com/rectorphp/rector-src/pull/4773)) - \[e2e] Handle $rectorConfig->paths() with wilcards \* config ([#​4765](https://togithub.com/rectorphp/rector-src/pull/4765)) - \[Config] Move from magic loading of all PHPStan extensions, their bootstrap files etc. under control with explicit file listing ([#​4769](https://togithub.com/rectorphp/rector-src/pull/4769)) - \[TypeDeclaration] Handle crash on concat param append returned used on Arg on StrictStringParamConcatRector ([#​4774](https://togithub.com/rectorphp/rector-src/pull/4774)) - \[TypeDeclaration] Skip param re-assign on Strict Param rules ([#​4775](https://togithub.com/rectorphp/rector-src/pull/4775)) - \[TypeDeclaration] Skip param int on StrictStringParamConcatRector ([#​4780](https://togithub.com/rectorphp/rector-src/pull/4780)) - \[PHPStanStaticTypeMapper] Allow Closure type on ClosureTypeMapper based on PHP versions ([#​4785](https://togithub.com/rectorphp/rector-src/pull/4785)) - \[PHPStanStaticTypeMapper] Allow standalone null type on NullTypeMapper on php 8.2 ([#​4783](https://togithub.com/rectorphp/rector-src/pull/4783)) - Make SimplifyUselessVariableRector run without scope ([#​4791](https://togithub.com/rectorphp/rector-src/pull/4791)) - Make NullToStrictStringFuncCallArgRector run without scope ([#​4792](https://togithub.com/rectorphp/rector-src/pull/4792)) ### [`v0.17.12`](https://togithub.com/rectorphp/rector/compare/0.17.11...0.17.12) [Compare Source](https://togithub.com/rectorphp/rector/compare/0.17.11...0.17.12) ### [`v0.17.11`](https://togithub.com/rectorphp/rector/releases/tag/0.17.11): Released Rector 0.17.11 [Compare Source](https://togithub.com/rectorphp/rector/compare/0.17.10...0.17.11) #### New Features and Improvements :partying_face: - \[TypeDeclaration] Add nullable param from null compare on StrictStringParamConcatRector ([#​4636](https://togithub.com/rectorphp/rector-src/pull/4636)) - \[TypeDeclaration] Add ReturnUnionTypeRector ([#​4655](https://togithub.com/rectorphp/rector-src/pull/4655)) - \[TypeDeclaration] Skip public method on AddMethodCallBasedStrictParamTypeRector ([#​4659](https://togithub.com/rectorphp/rector-src/pull/4659)) - \[CodeQuality]\[TypeDeclaration] Add string append support on ReturnTypeFromStrictScalarReturnExprRector ([#​4657](https://togithub.com/rectorphp/rector-src/pull/4657)) - \[TypeDeclaration] Handle anonymous class in union on AddArrowFunctionReturnTypeRector ([#​4676](https://togithub.com/rectorphp/rector-src/pull/4676)) - \[Types] Make AddVoidReturnTypeWhereNoReturnRector work only with type-declaration, as reliable ([#​4720](https://togithub.com/rectorphp/rector-src/pull/4720)) - \[TypeDeclaration] Allow change multiple methods on AddParamTypeDeclarationRector ([#​4727](https://togithub.com/rectorphp/rector-src/pull/4727)) - \[DX] Add ProcessConfigureDecorator to avoid superfluous composition ([#​4734](https://togithub.com/rectorphp/rector-src/pull/4734)) - \[Logging] Add RectorOutput logging service ([#​4736](https://togithub.com/rectorphp/rector-src/pull/4736)) - \[DX] Cache rector test config loading by file + class to avoid booting over and over per fixture ([#​4718](https://togithub.com/rectorphp/rector-src/pull/4718)) - \[DX] Validate rules no longer existing rules in $rectorConfig->skip() ([#​4728](https://togithub.com/rectorphp/rector-src/pull/4728)) - \[DX] Merge RectorOutputStyle, OutputStyleInterface to RectorStyle ([#​4711](https://togithub.com/rectorphp/rector-src/pull/4711))
#### Bugfixes :bug: - \[TypeDeclaration] Do not change different type defualt value on StrictStringParamConcatRector ([#​4635](https://togithub.com/rectorphp/rector-src/pull/4635)) - \[Strict] Skip docblock on BooleanInTernaryOperatorRuleFixerRector ([#​4638](https://togithub.com/rectorphp/rector-src/pull/4638)) - \[Strict] Skip docblock on DisallowedShortTernaryRuleFixerRector ([#​4639](https://togithub.com/rectorphp/rector-src/pull/4639)) - \[Strict] Skip docblock on BooleanInBooleanNotRuleFixerRector ([#​4640](https://togithub.com/rectorphp/rector-src/pull/4640)) - \[TypeDeclaration] Using native type scope get on ReturnTypeInferer ([#​4648](https://togithub.com/rectorphp/rector-src/pull/4648)) - \[CodingStyle]\[Php80]\[Privatization] Handle SeparateMultiUseImportsRector+ClassPropertyAssignToConstructorPromotionRector+FinalizeClassesWithoutChildrenRector cause invalid removal ([#​4649](https://togithub.com/rectorphp/rector-src/pull/4649)) - \[DX] Cleanup ForRepeatedCountToOwnVariableRector counter ([#​4651](https://togithub.com/rectorphp/rector-src/pull/4651)) - \[DX] Make MoneyFormatToNumberFormatRector wrap func call directly to keep simple ([#​4653](https://togithub.com/rectorphp/rector-src/pull/4653)) - Move ArrayManipulator to rector-symfony, where only used ([#​4656](https://togithub.com/rectorphp/rector-src/pull/4656)) - \[DX] Move FlipNegatedTernaryInstanceofRector to instanceof rules category ([#​4663](https://togithub.com/rectorphp/rector-src/pull/4663)) - Resolve encapsed values as strings ([#​4622](https://togithub.com/rectorphp/rector-src/pull/4622)), Thanks [@​Bellardia](https://togithub.com/Bellardia)! - \[Privatization] Skip parent class unknown on PrivatizeFinalClassMethodRector ([#​4671](https://togithub.com/rectorphp/rector-src/pull/4671)) - \[TypeDeclaration] Skip anonymous class and other object on ReturnUnionTypeRector ([#​4670](https://togithub.com/rectorphp/rector-src/pull/4670)) - \[TypeDeclaration] Allow return anonymous class on ReturnTypeFromReturnNewRector ([#​4669](https://togithub.com/rectorphp/rector-src/pull/4669)) - \[TypeDeclaration]\[CodeQuality] Move ReturnTypeFromStrictScalarReturnExprRector from CodeQuality to TypeDeclaration set ([#​4668](https://togithub.com/rectorphp/rector-src/pull/4668)) - \[TypeDeclaration] Allow \__invoke() method for return type changed on ClassMethodReturnTypeOverrideGuard ([#​4667](https://togithub.com/rectorphp/rector-src/pull/4667)) - \[NodeTypeResolver] Clean up anonymous class detection on NodeTypeResolver::getNativeType() ([#​4673](https://togithub.com/rectorphp/rector-src/pull/4673)) - \[NodeAnalyzer] Pass ReflectionProvider to \__construct() on CallAnalyzer ([#​4699](https://togithub.com/rectorphp/rector-src/pull/4699)) - Skip code changes on unresolvable/unknown classes ([#​4619](https://togithub.com/rectorphp/rector-src/pull/4619)), Thanks [@​staabm](https://togithub.com/staabm)! - \[TypeDeclaration] Use return bool for ParentClassMethodTypeOverrideGuard::hasParentClassMethod(), return ?MethodReflection for ParentClassMethodTypeOverrideGuard::getParentClassMethod() ([#​4703](https://togithub.com/rectorphp/rector-src/pull/4703)) - \[TypeDeclaration] Skip param setter method intersection docblock not autoload on ReturnNeverTypeRector ([#​4721](https://togithub.com/rectorphp/rector-src/pull/4721)) - \[TypeDeclaration] Skip non void or never already return typed on ReturnNeverTypeRector ([#​4723](https://togithub.com/rectorphp/rector-src/pull/4723)) - Make relativeFilePathFromDirectory() private as used only locally ([#​4735](https://togithub.com/rectorphp/rector-src/pull/4735)) - \[DX] Avoid supporting edge-case multi-layered comments, must be covered in php-parser itself ([#​4743](https://togithub.com/rectorphp/rector-src/pull/4743)) - \[TypeDeclaration] Skip void type on caller on ReturnTypeFromStrictTypedCallRector ([#​4751](https://togithub.com/rectorphp/rector-src/pull/4751)) - Use direct VoidType definition on Return\_ expr is null on ReturnedNodesReturnTypeInfererTypeInferer ([#​4752](https://togithub.com/rectorphp/rector-src/pull/4752)) - \[Renaming] Deprecate PseudoNamespaceToNamespaceRector as too dynamic and unreliable, use the RenameClassRector instead ([#​4755](https://togithub.com/rectorphp/rector-src/pull/4755))
#### Removed :skull: Since Rector 0.15 we declare type stricness and avoid docblock changes, as unreliable and could lead to incorrect assumptions: [getrector.com/blog/new-in-rector-015-complete-safe-and-known-type-declarations](https://getrector.com/blog/new-in-rector-015-complete-safe-and-known-type-declarations) Few rules work with unreliable docblocks, and were removed. Instead handle cases yourself with PHPStan help 👍 - \[DX] Remove deprecated RectorConfigProvider, use SimpleParameterProvider instead ([#​4658](https://togithub.com/rectorphp/rector-src/pull/4658)) - \[DX] Remove usage of deprecated symfony parameters ([#​4674](https://togithub.com/rectorphp/rector-src/pull/4674)) - Remove deprecated ArrayShapeFromConstantArrayReturnRector ([#​4662](https://togithub.com/rectorphp/rector-src/pull/4662)) - Remove RemoveParentRector as never used and only for demo purposes, handle custom way where needed ([#​4679](https://togithub.com/rectorphp/rector-src/pull/4679)) - \[DX] Remove \*AnnotationIncorrectNullableRector rules as works with unreliable docblocks and can have 2 solutions ([#​4719](https://togithub.com/rectorphp/rector-src/pull/4719)) - Remove appendArgs() method on AbstractRector ([#​4732](https://togithub.com/rectorphp/rector-src/pull/4732)) - \[Renaming] Remove callables from class renames to avoid missed rename bugs, better handle with PHSPtan and custom rule ([#​4745](https://togithub.com/rectorphp/rector-src/pull/4745)) - \[DX] Remove NullifyUnionNullableRector, let cs tools handle it ([#​4660](https://togithub.com/rectorphp/rector-src/pull/4660)) - \[DX] Remove RemoveJustPropertyFetchRector as used for one time job, not practical for general use ([#​4661](https://togithub.com/rectorphp/rector-src/pull/4661)) - \[TypeDeclaration] Remove AddClosureReturnTypeRector ([#​4637](https://togithub.com/rectorphp/rector-src/pull/4637)) - \[DX] Remove AddDefaultValueForUndefinedVariableRector as can generate broken code and depends on context ([#​4729](https://togithub.com/rectorphp/rector-src/pull/4729)) ### [`v0.17.10`](https://togithub.com/rectorphp/rector/releases/tag/0.17.10): Released Rector 0.17.10 [Compare Source](https://togithub.com/rectorphp/rector/compare/0.17.9...0.17.10) #### New Features :partying_face: - \[TypeDeclaration] Add Closure support on NumericReturnTypeFromStrictScalarReturnsRector ([#​4631](https://togithub.com/rectorphp/rector-src/pull/4631)) - \[TypeDeclaration] Add Closure support on StrictArrayParamDimFetchRector ([#​4632](https://togithub.com/rectorphp/rector-src/pull/4632)) - \[TypeDeclaration] Add Closure support on ReturnTypeFromStrictParamRector ([#​4633](https://togithub.com/rectorphp/rector-src/pull/4633)) - \[TypeDeclaration] Add Closure support on StrictStringParamConcatRector ([#​4634](https://togithub.com/rectorphp/rector-src/pull/4634))
#### Bugfixes :bug: - \[Downgrade] \[FIX] Fix infinite loop in DowngradeArrayFilterNullableCallbackRector ([#​150](https://togithub.com/rectorphp/rector-downgrade-php/pull/150)) ### [`v0.17.9`](https://togithub.com/rectorphp/rector/releases/tag/0.17.9): Released Rector 0.17.9 [Compare Source](https://togithub.com/rectorphp/rector/compare/0.17.8...0.17.9) #### Bugfixes :bug: - Fix last arg trailing comma removal DowngradeTrailingCommasInFunctionCallsRector - https://github.com/rectorphp/rector-downgrade-php/commit/059d48366ee50115006a8d26ede574d70da724d2 ### [`v0.17.8`](https://togithub.com/rectorphp/rector/releases/tag/0.17.8): Released Rector 0.17.8 [Compare Source](https://togithub.com/rectorphp/rector/compare/0.17.7...0.17.8) #### New Features :partying_face: - \[TypeDeclaration] Add Closure support on BoolReturnTypeFromStrictScalarReturnsRector ([#​4610](https://togithub.com/rectorphp/rector-src/pull/4610)) - AddMethodCallBasedStrictParamTypeRector: Support changing protected methods in final classes ([#​4611](https://togithub.com/rectorphp/rector-src/pull/4611)), Thanks [@​staabm](https://togithub.com/staabm)! - \[TypeDeclaration] Add StrictStringParamConcatRector ([#​4624](https://togithub.com/rectorphp/rector-src/pull/4624))
#### Bugfixes :bug: - \[PHPStanStaticTypeMapper] FQCN for Closure type mapper ([#​4584](https://togithub.com/rectorphp/rector-src/pull/4584)) - Fixed constant types handling in TypedPropertyFromStrictConstructorRector ([#​4588](https://togithub.com/rectorphp/rector-src/pull/4588)), Thanks [@​staabm](https://togithub.com/staabm)! - \[TypeDeclaration] Skip coalesce on StrictArrayParamDimFetchRector ([#​4589](https://togithub.com/rectorphp/rector-src/pull/4589)) - Bump to phpdoc-parser 1.23 and fill construct() attributes ([#​4590](https://togithub.com/rectorphp/rector-src/pull/4590)) - \[TypeDeclaration] Skip override string on StrictArrayParamDimFetchRector ([#​4591](https://togithub.com/rectorphp/rector-src/pull/4591)) - \[Autoloading] Using SimpleParameterProvider on BootstrapFilesIncluder ([#​4592](https://togithub.com/rectorphp/rector-src/pull/4592)) - \[Php81] Fix regression skip call by ref on ReadOnlyPropertyRector ([#​4593](https://togithub.com/rectorphp/rector-src/pull/4593)) - \[PHPStanStaticTypeMapper] Make use of toPhpDocNode() on ObjectTypeMapper ([#​4581](https://togithub.com/rectorphp/rector-src/pull/4581)) - \[PHPStanStaticTypeMapper] Fix IntersectionTypeMapper to make ObjectType have FQCN ([#​4598](https://togithub.com/rectorphp/rector-src/pull/4598)) - \[Php81] Skip re-assign with AssignOp on ReadOnlyPropertyRector ([#​4600](https://togithub.com/rectorphp/rector-src/pull/4600)) - Reduce ConstExprClassNameDecorator overhead ([#​4603](https://togithub.com/rectorphp/rector-src/pull/4603)), Thanks [@​staabm](https://togithub.com/staabm)! - Resolve native return-type from native union-type in short ternary ([#​4606](https://togithub.com/rectorphp/rector-src/pull/4606)), Thanks [@​staabm](https://togithub.com/staabm)! - \[Strict] Skip from docblock [@​return](https://togithub.com/return) on DisallowedEmptyRuleFixerRector ([#​4608](https://togithub.com/rectorphp/rector-src/pull/4608)) - \[Strict] Skip [@​return](https://togithub.com/return) docblock on BooleanInIfConditionRuleFixerRector ([#​4609](https://togithub.com/rectorphp/rector-src/pull/4609)) - \[Php81] Fix regression skip call by ref on ReadOnlyPropertyRector on non \__construct method ([#​4614](https://togithub.com/rectorphp/rector-src/pull/4614)) - \[CodeQuality]\[Strict] Handle infinite loop on SimplifyDeMorganBinaryRector+SimplifyIfReturnBoolRector+DisallowedEmptyRuleFixerRector ([#​4615](https://togithub.com/rectorphp/rector-src/pull/4615)) - \[CodingStyle]\[Namespace\_] Support constant imports ([#​4612](https://togithub.com/rectorphp/rector-src/pull/4612)), Thanks [@​natepage](https://togithub.com/natepage)! - \[Php81] Skip property fetch from new static on ReadOnlyPropertyRector ([#​4617](https://togithub.com/rectorphp/rector-src/pull/4617)) - \[CodingStyle] Handle crash on empty cases on BinarySwitchToIfElseRector ([#​4618](https://togithub.com/rectorphp/rector-src/pull/4618)) - Fix string type on StrictArrayParamDimFetchRector ([#​4623](https://togithub.com/rectorphp/rector-src/pull/4623)) - \[PHPStanStaticTypeMapper] Handle crash on DowngradeMixedTypeDeclarationRector for PHPStan\Type\ConditionalType ([#​4625](https://togithub.com/rectorphp/rector-src/pull/4625)) - \[Php73] Handle crash Type Error on JsonThrowOnErrorRector ([#​4626](https://togithub.com/rectorphp/rector-src/pull/4626)) - \[Php81] Skip call by ref on ReadOnlyPropertyRector on FuncCall ([#​4630](https://togithub.com/rectorphp/rector-src/pull/4630)) - \[Printer] Fix printing PHPStan AlwaysRememberedExpr with add unwrapper inside BetterStandardPrinter::p ([#​4629](https://togithub.com/rectorphp/rector-src/pull/4629)) - \[TypeDeclaration] Skip has parent class method on AddParamTypeFromPropertyTypeRector ([#​4627](https://togithub.com/rectorphp/rector-src/pull/4627))
#### Removed :skull: - \[Printer] Remove has InlineHTML node check after apply changes on PhpFileProcessor ([#​4601](https://togithub.com/rectorphp/rector-src/pull/4601)) ### [`v0.17.7`](https://togithub.com/rectorphp/rector/releases/tag/0.17.7): Released Rector 0.17.7 [Compare Source](https://togithub.com/rectorphp/rector/compare/0.17.6...0.17.7) #### New Features :partying_face: - \[CodingStyle] Skip filled by construct on AddArrayDefaultToArrayPropertyRector ([#​4549](https://togithub.com/rectorphp/rector-src/pull/4549)) - Add constuctor support to ReplaceArgumentDefaultValueRector ([#​4554](https://togithub.com/rectorphp/rector-src/pull/4554)) - StaticMapper: added fast path for IdentifierTypeNode ([#​4565](https://togithub.com/rectorphp/rector-src/pull/4565)), Thanks [@​staabm](https://togithub.com/staabm)! - Add ReturnTypeFromStrictParamRector ([#​4501](https://togithub.com/rectorphp/rector-src/pull/4501)), Thanks [@​staabm](https://togithub.com/staabm)! - Add TypedPropertyFromStrictConstructorReadonlyClassRector ([#​4552](https://togithub.com/rectorphp/rector-src/pull/4552)), Thanks [@​staabm](https://togithub.com/staabm)! - ReturnTypeFromStrictTernaryRector: Support complex ternaries ([#​4515](https://togithub.com/rectorphp/rector-src/pull/4515)), Thanks [@​staabm](https://togithub.com/staabm)! #### Bugfixes :bug: - Support final methods in ClassMethodReturnTypeOverrideGuard ([#​4509](https://togithub.com/rectorphp/rector-src/pull/4509)), Thanks [@​staabm](https://togithub.com/staabm)! - Support literals in ReturnTypeFromStrictTypedCallRector ([#​4511](https://togithub.com/rectorphp/rector-src/pull/4511)), Thanks [@​staabm](https://togithub.com/staabm)! - \[TypeDeclaration] Null stmts check early on ReturnTypeFromStrictParamRector ([#​4512](https://togithub.com/rectorphp/rector-src/pull/4512)) - \[Performance] Use filtered filePaths from ApplicationFileProcessor::configurePHPStanNodeScopeResolver on WorkerRunner::run() ([#​4513](https://togithub.com/rectorphp/rector-src/pull/4513)) - \[DX] Show progress bar 100% on RectorConsoleOutputFormatter::report() ([#​4516](https://togithub.com/rectorphp/rector-src/pull/4516)) - \[ChangesReporting] Reuse defined errors vairable on ConsoleOutputFormatter ([#​4517](https://togithub.com/rectorphp/rector-src/pull/4517)) - \[ApplicationFileProcessor] Refactor ApplicationFileProcessor to filter file paths early before run both parallel and non-parallel ([#​4519](https://togithub.com/rectorphp/rector-src/pull/4519)) - \[DX] Fix hang on twice run after all files processed cached ([#​4521](https://togithub.com/rectorphp/rector-src/pull/4521)) - \[Application] Move filter files by config extensions to FileFactory ([#​4522](https://togithub.com/rectorphp/rector-src/pull/4522)) - \[Php81]\[Php82]\[Privatization] Handle extends non-readonly class on ReadOnlyPropertyRector+ReadOnlyClassRector+FinalizeClassesWithoutChildrenRector ([#​4524](https://togithub.com/rectorphp/rector-src/pull/4524)) - Fix wrong results in RemoveAlwaysElseRector ([#​4527](https://togithub.com/rectorphp/rector-src/pull/4527)), Thanks [@​jlherren](https://togithub.com/jlherren)! - Support class-const-fetch in ReturnTypeFromStrictTypedCallRector ([#​4520](https://togithub.com/rectorphp/rector-src/pull/4520)), Thanks [@​staabm](https://togithub.com/staabm)! - \[EarlyReturn] Skip append variable on PreparedValueToEarlyReturnRector ([#​4530](https://togithub.com/rectorphp/rector-src/pull/4530)) - Refactor MyCLabs\Enum\Enum::equals calls to comparisons ([#​4532](https://togithub.com/rectorphp/rector-src/pull/4532)), Thanks [@​rojtjo](https://togithub.com/rojtjo)! - \[Performance]\[NodeManipulator] Avoid loop on search first variable named on next sliced next stmts on StmtsManipulator ([#​4537](https://togithub.com/rectorphp/rector-src/pull/4537)) - \[Performance] \[TypeDeclaration] Reduce resolve ClassReflection on each property on TypedPropertyFromStrictConstructorRector ([#​4536](https://togithub.com/rectorphp/rector-src/pull/4536)) - \[Performance]\[TypeDeclaration] Reduce resolve ClassReflection from Property on AllAssignNodePropertyTypeInferer ([#​4539](https://togithub.com/rectorphp/rector-src/pull/4539)) - \[Application] Merge process files on both parallel and non-parallel process ([#​4523](https://togithub.com/rectorphp/rector-src/pull/4523)) - \[PHPStan] Merge assert phpstan errors to one ([#​4544](https://togithub.com/rectorphp/rector-src/pull/4544)) - \[Performance] \[Php74] Reduce ClassReflection lookup from property on PropertyTypeChangeGuard ([#​4545](https://togithub.com/rectorphp/rector-src/pull/4545)) - Use instanceof check on ClassReflection resolve ([#​4547](https://togithub.com/rectorphp/rector-src/pull/4547)) - \[Reflection] Reduce Scope pulling on ReflectionResolver ([#​4548](https://togithub.com/rectorphp/rector-src/pull/4548)) - \[Strict] Skip empty() from param doc on DisallowedEmptyRuleFixerRector ([#​4550](https://togithub.com/rectorphp/rector-src/pull/4550)) - Fix space in paths ([#​4553](https://togithub.com/rectorphp/rector-src/pull/4553)) - Skip traits in CountOnNullRector ([#​4556](https://togithub.com/rectorphp/rector-src/pull/4556)) - Make use of toPhpDocNode() - take [#​2](https://togithub.com/rectorphp/rector/issues/2) ([#​4555](https://togithub.com/rectorphp/rector-src/pull/4555)) - \[Performance] \[PostRector] Only check phpdocinfo on Stmt and Param on NameImportingPostRector ([#​4558](https://togithub.com/rectorphp/rector-src/pull/4558)) - \[CodeQuality] Skip pull property from inner class on CompleteDynamicPropertiesRector ([#​4561](https://togithub.com/rectorphp/rector-src/pull/4561)) - Prevent unnecessary scope creation ([#​4562](https://togithub.com/rectorphp/rector-src/pull/4562)), Thanks [@​staabm](https://togithub.com/staabm)! - NameImportingPhpDocNodeVisitor: Cheap checks first ([#​4563](https://togithub.com/rectorphp/rector-src/pull/4563)), Thanks [@​staabm](https://togithub.com/staabm)! - \[Performance]\[Renaming] No need PhpDocInfo refactor on Name node on ClassRenamer ([#​4566](https://togithub.com/rectorphp/rector-src/pull/4566)) - \[TypeDeclaration] Deprecate ArrayShapeFromConstantArrayReturnRector as uses docblocks that we move away from since 0.15 ([#​4571](https://togithub.com/rectorphp/rector-src/pull/4571)) - Make ReturnTypeFromStrictNewArrayRector handle only single level arrays ([#​4575](https://togithub.com/rectorphp/rector-src/pull/4575)) - Fix array mapping ([#​4576](https://togithub.com/rectorphp/rector-src/pull/4576)) - \[Performance] \[PostRector] Reduce repetitive resolve uses statements on NameImportingPostRector ([#​4579](https://togithub.com/rectorphp/rector-src/pull/4579)) - \[EarlyReturn] Handle multiple statements in else in ChangeIfElseValueAssignToEarlyReturnRector ([#​4580](https://togithub.com/rectorphp/rector-src/pull/4580)), Thanks [@​dorrogeray](https://togithub.com/dorrogeray)! - \[BUGFIX] Ensure proper reprint with attributes for finalized classes ([#​4585](https://togithub.com/rectorphp/rector-src/pull/4585)), Thanks [@​cngJo](https://togithub.com/cngJo)!
#### Removed :skull: - \[DX] Remove AllowEmptyConfigurableRectorInterface to ease interface tree, better handle on particular configure() method inside the rule ([#​4540](https://togithub.com/rectorphp/rector-src/pull/4540)) - Skip description on same line, remove on next line as based on phpdoc-parser in RemoveUselessParamTagRector ([#​4551](https://togithub.com/rectorphp/rector-src/pull/4551)) - \[Performance]\[PostRector] Remove alias exists check on NameImporter called from NameImportingPostRector ([#​4564](https://togithub.com/rectorphp/rector-src/pull/4564)) - \[Performance]\[BetterPhpDocParser] Remove unused ConstExprNode check on ConstExprClassNameDecorator ([#​4578](https://togithub.com/rectorphp/rector-src/pull/4578)) - \[PHPStanStaticTypeMapper] Remove manual type check on PHPStanStaticTypeMapper ([#​4583](https://togithub.com/rectorphp/rector-src/pull/4583)) - \[StaticTypeMapper] Remove standalone false handling on StaticTypeMapper ([#​4582](https://togithub.com/rectorphp/rector-src/pull/4582)) ### [`v0.17.6`](https://togithub.com/rectorphp/rector/releases/tag/0.17.6): Released Rector 0.17.6 [Compare Source](https://togithub.com/rectorphp/rector/compare/0.17.5...0.17.6) In this release, we narrowed rules from PHPUit and Doctrine to their specific version category. We've detected few outdated and never used rules and cleaned them up to make Rector smaller and easier to use :+1: Be use to always use `*SetList` constants over specific rules to use the latest version: ```php use Rector\Config\RectorConfig; return static function (RectorConfig $rectorConfig): void { $rectorConfig->sets([ \Rector\PHPUnit\Set\PHPUnitLevelSetList::UP_TO_PHPUNIT_100, ]); }; ``` #### New Features :partying_face: - Add PHPUnit to sets ([#​4495](https://togithub.com/rectorphp/rector-src/pull/4495)) - \[CI] Add PHPUnit 10 to check rules and sets groups ([#​4500](https://togithub.com/rectorphp/rector-src/pull/4500)) - \[CI] Add doctrine rules in set check ([#​4505](https://togithub.com/rectorphp/rector-src/pull/4505))
#### Bugfixes :bug: - \[Performance] Only set Attribute on context inside ArrayDimFetch and ArrayItem on specific node used ([#​4493](https://togithub.com/rectorphp/rector-src/pull/4493)) - \[Php52] Use instanceof check instead of compare object $newStmt === $caseStmt on ContinueToBreakInSwitchRector ([#​4494](https://togithub.com/rectorphp/rector-src/pull/4494)) - Exclude the full docs folder from archives ([#​4497](https://togithub.com/rectorphp/rector-src/pull/4497)), Thanks [@​stof](https://togithub.com/stof)! - Cleanup RecastingRemovalRector tests ([#​4498](https://togithub.com/rectorphp/rector-src/pull/4498)) - Move Rector order test to PHPUnit, as uses its rules ([#​4499](https://togithub.com/rectorphp/rector-src/pull/4499)) - let phpunit handle its own empty method rule ([#​4501](https://togithub.com/rectorphp/rector-src/pull/4501)), Thanks [@​staabm](https://togithub.com/staabm)! - Micro optimizations: cheap checks first ([#​4510](https://togithub.com/rectorphp/rector-src/pull/4510)), Thanks [@​staabm](https://togithub.com/staabm)! - Skip coalsce assign in RemoveUnusedPrivatePropertyRector ([#​4491](https://togithub.com/rectorphp/rector-src/pull/4491)) - \[DeadCode] Skip append += assignment on RemoveUnusedPrivatePropertyRector ([#​4506](https://togithub.com/rectorphp/rector-src/pull/4506)) - \[AstResolver]\[Performance] Remove unnecessary double File read on AstResolver::parseFileNameToDecoratedNodes() ([#​4508](https://togithub.com/rectorphp/rector-src/pull/4508))
#### Removed :skull: - \[NodeTypeResolver] Remove unused AttributeKey::INSIDE_ARRAY_ITEM on ContextNodeVisitor ([#​4496](https://togithub.com/rectorphp/rector-src/pull/4496)) - \[NodeTypeResolver] Remove AttributeKey::IS_RETURN_EXPR from ContextNodeVisitor ([#​4502](https://togithub.com/rectorphp/rector-src/pull/4502)) - \[NodeTypeResolver] Remove AttributeKey::IS_ISSET_VAR from ContextNodeVisitor ([#​4503](https://togithub.com/rectorphp/rector-src/pull/4503)) - \[NodeTypeResolver] Remove nestedChainMethodCallLimit() for deep method call counter check ([#​4504](https://togithub.com/rectorphp/rector-src/pull/4504)) ### [`v0.17.5`](https://togithub.com/rectorphp/rector/releases/tag/0.17.5): Released Rector 0.17.5 [Compare Source](https://togithub.com/rectorphp/rector/compare/0.17.4...0.17.5) #### Removed :skull: - \[DeadCode] Skip property not exists on RemoveTypedPropertyDeadInstanceOfRector ([#​4481](https://togithub.com/rectorphp/rector-src/pull/4481)) - \[CodeQuality]\[Php80] Handle infite loop swap params on RemoveUnusedVariableInCatchRector + OptionalParametersAfterRequiredRector ([#​4484](https://togithub.com/rectorphp/rector-src/pull/4484))
#### Bugfixes :bug: - fix(rules): Skip readonly classes from restoring default null value. ([#​4479](https://togithub.com/rectorphp/rector-src/pull/4479)), Thanks [@​scyzoryck](https://togithub.com/scyzoryck)! - \[Php80] Handle crash on ClassOnObjectRector + GetDebugTypeRector ([#​4483](https://togithub.com/rectorphp/rector-src/pull/4483)) - \[Strict] Fix DisallowedEmptyRuleFixerRector on empty string isset ([#​4485](https://togithub.com/rectorphp/rector-src/pull/4485)) - Fix StrictArrayParamDimFetchRector on `is_*` calls ([#​4486](https://togithub.com/rectorphp/rector-src/pull/4486)), Thanks [@​staabm](https://togithub.com/staabm)! - Fix trait rename in Php4ConsturctorRector ([#​4487](https://togithub.com/rectorphp/rector-src/pull/4487)) - Fix StrictArrayParamDimFetchRector on same named property ([#​4488](https://togithub.com/rectorphp/rector-src/pull/4488)), Thanks [@​staabm](https://togithub.com/staabm)! ### [`v0.17.4`](https://togithub.com/rectorphp/rector/releases/tag/0.17.4): Released Rector 0.17.4 [Compare Source](https://togithub.com/rectorphp/rector/compare/0.17.3...0.17.4) #### Bugfixes :bug: - \[CodeQuality]\[EarlyReturn] Handle crash Replace Stmt to Expr on FlipTypeControlToUseExclusiveTypeRector+FlipTypeControlToUseExclusiveTypeRector+ReturnBinaryOrToEarlyReturnRector ([#​4474](https://togithub.com/rectorphp/rector-src/pull/4474)) - Fix ReturnBinaryOrToEarlyReturnRector mixing up returned nodes of array, hook into StmtsAwareInterface instead to keep next Rector rules updated ([#​4476](https://togithub.com/rectorphp/rector-src/pull/4476))
#### Removed :skull: - Remove duplicated version_compare ReplaceFuncCallArgumentDefaultValue rule ([#​4473](https://togithub.com/rectorphp/rector-src/pull/4473)), Thanks [@​alexander-schranz](https://togithub.com/alexander-schranz)! - \[EarlyReturn] Remove ReturnBinaryAndToEarlyReturnRector as creates code hard to read and flips condition ([#​4478](https://togithub.com/rectorphp/rector-src/pull/4478)) ### [`v0.17.3`](https://togithub.com/rectorphp/rector/releases/tag/0.17.3): Released Rector 0.17.3 [Compare Source](https://togithub.com/rectorphp/rector/compare/0.17.2...0.17.3) In this release we continue preparing for Rector 1.0 release [https://github.com/rectorphp/rector/issues/7854](https://togithub.com/rectorphp/rector/issues/7854) This includes **removing last parent node** connections, to lower node tree memory consumption 🥳️🥳️🥳️ - \[EarlyReturn] Remove findFirstNext() on InvertedIfFactory ([#​4399](https://togithub.com/rectorphp/rector-src/pull/4399)) - \[DX] Remove findParentType() method ([#​4438](https://togithub.com/rectorphp/rector-src/pull/4438)) - \[DX] Remove parent node from AbstractRector ([#​4465](https://togithub.com/rectorphp/rector-src/pull/4465))
#### New Features :partying_face: - Add float mul integer type to NumericReturnTypeFromStrictScalarReturnsRector ([#​4376](https://togithub.com/rectorphp/rector-src/pull/4376)) - \[TypeDeclaration] Add Encapsed string support to AlwaysStrictScalarExprAna

Configuration

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

🚦 Automerge: Enabled.

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.



This PR has been generated by Mend Renovate. View repository job log here.

renovate[bot] commented 1 year ago

Edited/Blocked Notification

Renovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR.

You can manually request rebase by checking the rebase/retry box above.

Warning: custom changes will be lost.