Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Update Composer dev tooling dependencies (#569)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [lendable/composer-license-checker](https://togithub.com/Lendable/composer-license-checker) | `^1.0.4` -> `^1.1.0` | [![age](https://developer.mend.io/api/mc/badges/age/packagist/lendable%2fcomposer-license-checker/1.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/packagist/lendable%2fcomposer-license-checker/1.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/packagist/lendable%2fcomposer-license-checker/1.0.4/1.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/packagist/lendable%2fcomposer-license-checker/1.0.4/1.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [php-cs-fixer/shim](https://togithub.com/PHP-CS-Fixer/shim) | `^3.41.1` -> `^3.46.0` | [![age](https://developer.mend.io/api/mc/badges/age/packagist/php-cs-fixer%2fshim/3.46.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/packagist/php-cs-fixer%2fshim/3.46.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/packagist/php-cs-fixer%2fshim/3.41.1/3.46.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/packagist/php-cs-fixer%2fshim/3.41.1/3.46.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [phpstan/phpstan](https://togithub.com/phpstan/phpstan) | `^1.10.50` -> `^1.10.55` | [![age](https://developer.mend.io/api/mc/badges/age/packagist/phpstan%2fphpstan/1.10.55?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/packagist/phpstan%2fphpstan/1.10.55?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/packagist/phpstan%2fphpstan/1.10.50/1.10.55?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/packagist/phpstan%2fphpstan/1.10.50/1.10.55?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [phpunit/phpunit](https://phpunit.de/) ([source](https://togithub.com/sebastianbergmann/phpunit)) | `^10.5.3` -> `^10.5.5` | [![age](https://developer.mend.io/api/mc/badges/age/packagist/phpunit%2fphpunit/10.5.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/packagist/phpunit%2fphpunit/10.5.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/packagist/phpunit%2fphpunit/10.5.3/10.5.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/packagist/phpunit%2fphpunit/10.5.3/10.5.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [rector/rector](https://getrector.org) ([source](https://togithub.com/rectorphp/rector)) | `^0.18` -> `^0.19` | [![age](https://developer.mend.io/api/mc/badges/age/packagist/rector%2frector/0.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/packagist/rector%2frector/0.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/packagist/rector%2frector/0.18.0/0.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/packagist/rector%2frector/0.18.0/0.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>Lendable/composer-license-checker (lendable/composer-license-checker)</summary> ### [`v1.1.0`](https://togithub.com/Lendable/composer-license-checker/compare/1.0.4...1.1.0) [Compare Source](https://togithub.com/Lendable/composer-license-checker/compare/1.0.4...1.1.0) </details> <details> <summary>PHP-CS-Fixer/shim (php-cs-fixer/shim)</summary> ### [`v3.46.0`](https://togithub.com/PHP-CS-Fixer/shim/compare/v3.45.0...v3.46.0) [Compare Source](https://togithub.com/PHP-CS-Fixer/shim/compare/v3.45.0...v3.46.0) ### [`v3.45.0`](https://togithub.com/PHP-CS-Fixer/shim/compare/v3.44.0...v3.45.0) [Compare Source](https://togithub.com/PHP-CS-Fixer/shim/compare/v3.44.0...v3.45.0) ### [`v3.44.0`](https://togithub.com/PHP-CS-Fixer/shim/compare/v3.43.1...v3.44.0) [Compare Source](https://togithub.com/PHP-CS-Fixer/shim/compare/v3.43.1...v3.44.0) ### [`v3.43.1`](https://togithub.com/PHP-CS-Fixer/shim/compare/v3.43.0...v3.43.1) [Compare Source](https://togithub.com/PHP-CS-Fixer/shim/compare/v3.43.0...v3.43.1) ### [`v3.43.0`](https://togithub.com/PHP-CS-Fixer/shim/compare/v3.42.0...v3.43.0) [Compare Source](https://togithub.com/PHP-CS-Fixer/shim/compare/v3.42.0...v3.43.0) ### [`v3.42.0`](https://togithub.com/PHP-CS-Fixer/shim/compare/v3.41.1...v3.42.0) [Compare Source](https://togithub.com/PHP-CS-Fixer/shim/compare/v3.41.1...v3.42.0) </details> <details> <summary>phpstan/phpstan (phpstan/phpstan)</summary> ### [`v1.10.55`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.55) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.10.54...1.10.55) # Improvements 🔧 - PHPDoc tag `@phpstan-ignore-next-line` works for first line below the PHPDoc even in bleeding edge (https://github.com/phpstan/phpstan-src/commit/8b6260c21bacbfd653d26b9a8abef7996fd3fe46), [#​10383](https://togithub.com/phpstan/phpstan/issues/10383), [https://github.com/phpstan/phpstan/discussions/10374](https://togithub.com/phpstan/phpstan/discussions/10374) - Add `open-resource` type (https://github.com/phpstan/phpstan-src/commit/bbd9a68478abbc500b6398968cc85d0d1ae8d3eb), [#​10399](https://togithub.com/phpstan/phpstan/issues/10399) - Optimize repeated container creation in tests ([#​2860](https://togithub.com/phpstan/phpstan-src/pull/2860)), thanks [@​schlndh](https://togithub.com/schlndh)! - Try to prevent error with PHP-Parser 5 when running PHPUnit tests (https://github.com/phpstan/phpstan-src/commit/9dac90dfd5fc809dd84fdac0532ecd51c6ae66bf), [#​10401](https://togithub.com/phpstan/phpstan/issues/10401), thanks [@​zonuexe](https://togithub.com/zonuexe)! # Bugfixes 🐛 - Fix mixing property and param attributes on promoted property ([#​2825](https://togithub.com/phpstan/phpstan-src/pull/2825)), [#​10385](https://togithub.com/phpstan/phpstan/issues/10385) - Fix detection of shadowed trait methods (https://github.com/phpstan/phpstan-src/commit/22700511d91b748240da0ac8b697f2ab409aad21), [#​10377](https://togithub.com/phpstan/phpstan/issues/10377) - Fix int-range return type for range() ([#​2792](https://togithub.com/phpstan/phpstan-src/pull/2792)), [#​10213](https://togithub.com/phpstan/phpstan/issues/10213), [#​9573](https://togithub.com/phpstan/phpstan/issues/9573), thanks [@​dantleech](https://togithub.com/dantleech)! # Internals 🔍 - Remove unused DirectClassReflectionExtensionRegistryProvider ([#​2857](https://togithub.com/phpstan/phpstan-src/pull/2857)), thanks [@​staabm](https://togithub.com/staabm)! - Plumbing for `@phpstan-require-extends` and `@phpstan-require-implements` ([#​2856](https://togithub.com/phpstan/phpstan-src/pull/2856)), thanks [@​staabm](https://togithub.com/staabm)! - `Scope::getFunctionCallStack()` (https://github.com/phpstan/phpstan-src/commit/9be137675ebc41be5c9c7c230f96cab4dbf1f08e), [https://github.com/phpstan/phpstan-deprecation-rules/issues/106](https://togithub.com/phpstan/phpstan-deprecation-rules/issues/106) ### [`v1.10.54`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.54) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.10.53...1.10.54) # Bleeding edge 🔪 - Revert "ParamAttributesRule - promoted property attribute needs to target both parameters and properties" (https://github.com/phpstan/phpstan-src/commit/02f66df2a2997ad39ee25c92b6a7f7102f09514f), [#​10385](https://togithub.com/phpstan/phpstan/issues/10385) - See PHP internals discussion: https://externals.io/message/111942#112021 *If you want to see the shape of things to come and adopt bleeding edge features early, you can include this config file in your project's `phpstan.neon`:* includes: - vendor/phpstan/phpstan/conf/bleedingEdge.neon *Of course, there are no backwards compatibility guarantees when you include this file. The behaviour and reported errors can change in minor versions with this file included. [Learn more](https://phpstan.org/blog/what-is-bleeding-edge)* # Improvements 🔧 - UsedNamesRule - level 0 ([#​2849](https://togithub.com/phpstan/phpstan-src/pull/2849)), thanks [@​lulco](https://togithub.com/lulco)! # Bugfixes 🐛 - Simplify TooWideClosureReturnTypehintRule (https://github.com/phpstan/phpstan-src/commit/a81df66485ea7c94655d70f322775e84bef871f9) - Fix falsy isset for all expressions (https://github.com/phpstan/phpstan-src/commit/af14d50e2b5d1b2cf91813059cdc827be63fdb20), [#​10373](https://togithub.com/phpstan/phpstan/issues/10373) ### [`v1.10.53`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.53) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.10.52...1.10.53) # Improvements 🔧 - Impl `str_increment` / `str_decrement` return type extension ([#​2776](https://togithub.com/phpstan/phpstan-src/pull/2776)), thanks [@​zonuexe](https://togithub.com/zonuexe)! # Bugfixes 🐛 - Fix loading polyfills twice (https://github.com/phpstan/phpstan/commit/3e7c7c7c6306157e6967ef436e952aeba1097edb?w=1), [#​10387](https://togithub.com/phpstan/phpstan/issues/10387) - `array_udiff()` comparator return type is too strict ([#​2822](https://togithub.com/phpstan/phpstan-src/pull/2822)), [#​9697](https://togithub.com/phpstan/phpstan/issues/9697), thanks [@​staabm](https://togithub.com/staabm)! # Internals 🔍 - Simplify default return path in extensions ([#​2816](https://togithub.com/phpstan/phpstan-src/pull/2816)), thanks [@​staabm](https://togithub.com/staabm)! ### [`v1.10.52`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.52) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.10.51...1.10.52) # Improvements 🔧 - Do not allow to generate baseline when reflection error occurs (https://github.com/phpstan/phpstan-src/commit/78ea9a621093cde38dd382cc67557c8b211589d8) - Show internal errors that occured when generating a baseline (https://github.com/phpstan/phpstan-src/commit/c997ea9eefb8a57f5e273cff3b3338f423e755b6) # Bugfixes 🐛 - Load PHP polyfills in bootstrap.php (https://github.com/phpstan/phpstan/commit/21df2d347a49a51b3377e4b6553aa110e7072eb6), [#​10375](https://togithub.com/phpstan/phpstan/issues/10375) ### [`v1.10.51`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.51) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.10.50...1.10.51) # Bleeding edge 🔪 - ParamAttributesRule - promoted property attribute needs to target both parameters and properties (https://github.com/phpstan/phpstan-src/commit/25d15526dbe59216f2b42aaa88a2be23bf9cbf44), [#​10298](https://togithub.com/phpstan/phpstan/issues/10298) - More precise `RecursiveIteratorIterator::__construct()` parameter types ([#​2835](https://togithub.com/phpstan/phpstan-src/pull/2835)), thanks [@​staabm](https://togithub.com/staabm)! - PhpDocParser: add config for lines in its AST & enable ignoring errors within PHPDocs ([#​2807](https://togithub.com/phpstan/phpstan-src/pull/2807)), thanks [@​janedbal](https://togithub.com/janedbal)! *If you want to see the shape of things to come and adopt bleeding edge features early, you can include this config file in your project's `phpstan.neon`:* includes: - vendor/phpstan/phpstan/conf/bleedingEdge.neon *Of course, there are no backwards compatibility guarantees when you include this file. The behaviour and reported errors can change in minor versions with this file included. [Learn more](https://phpstan.org/blog/what-is-bleeding-edge)* # Improvements 🔧 - Missing ThrowExprTypeRule - level 3 (https://github.com/phpstan/phpstan-src/commit/0359ebc78fa7bc5ed1b3b4032c68363ce70ab673) - Analyse stubs only when not only files are analysed (https://github.com/phpstan/phpstan-src/commit/402024091b215dca7d91b74c415293323d2dbadc) - Nicer error message in case of memory limit exhaustion in child process (https://github.com/phpstan/phpstan-src/commit/816be99361d263df24bf1e7fa078df62fb63d1d7) # Bugfixes 🐛 - Narrow `ReflectionEnum::getBackingType()` after `ReflectionEnum::isBacked()` ([#​2830](https://togithub.com/phpstan/phpstan-src/pull/2830)), [#​10167](https://togithub.com/phpstan/phpstan/issues/10167), thanks [@​staabm](https://togithub.com/staabm)! - Fix coalescing on an optional array offset ([#​2834](https://togithub.com/phpstan/phpstan-src/pull/2834)), [#​10317](https://togithub.com/phpstan/phpstan/issues/10317), thanks [@​rvanvelzen](https://togithub.com/rvanvelzen)! - More precise `??` type inference (https://github.com/phpstan/phpstan-src/commit/d801919e356a8cecc33b06046311aa036d2492ff), [#​10327](https://togithub.com/phpstan/phpstan/issues/10327) # Internals 🔍 - phpstan-src is now downgraded for PHP 7.2+ with [`ondrejmirtes/simple-downgrader`](https://togithub.com/ondrejmirtes/simple-downgrader) - Forward-compatible changes with PHP-Parser 5 (https://github.com/phpstan/phpstan-src/commit/436bd791bf256ca59334f2746e70a58d581d8574, https://github.com/phpstan/phpstan-src/commit/7eb66f6bd643fc95f8353b3b273c29514ddd8619, https://github.com/phpstan/phpstan-src/commit/bf0b138fbed6fb0960ca696869cc9f5f787d4261), [#​5086](https://togithub.com/phpstan/phpstan/issues/5086) - Use `str_starts_with()` and `str_contains()` instead of `strpos()` ([#​2841](https://togithub.com/phpstan/phpstan-src/pull/2841)), thanks [@​zonuexe](https://togithub.com/zonuexe)! - Building preload script - sort by name for reproducible builds (https://github.com/phpstan/phpstan-src/commit/995de26a4b8009c4e89159683c4e602290dbc508) - Lazier creation of ParameterAcceptor ([#​2843](https://togithub.com/phpstan/phpstan-src/pull/2843)), thanks [@​staabm](https://togithub.com/staabm)! - Use const instead of properties ([#​2815](https://togithub.com/phpstan/phpstan-src/pull/2815)), thanks [@​zonuexe](https://togithub.com/zonuexe)! - PhpDocValueRule: cheapest check first ([#​2824](https://togithub.com/phpstan/phpstan-src/pull/2824)), thanks [@​staabm](https://togithub.com/staabm)! - Faster `ParametersAcceptorSelector::combine()` ([#​2851](https://togithub.com/phpstan/phpstan-src/pull/2851)), thanks [@​staabm](https://togithub.com/staabm)! </details> <details> <summary>sebastianbergmann/phpunit (phpunit/phpunit)</summary> ### [`v10.5.5`](https://togithub.com/sebastianbergmann/phpunit/compare/10.5.4...10.5.5) [Compare Source](https://togithub.com/sebastianbergmann/phpunit/compare/10.5.4...10.5.5) ### [`v10.5.4`](https://togithub.com/sebastianbergmann/phpunit/compare/10.5.3...10.5.4) [Compare Source](https://togithub.com/sebastianbergmann/phpunit/compare/10.5.3...10.5.4) </details> <details> <summary>rectorphp/rector (rector/rector)</summary> ### [`v0.19.0`](https://togithub.com/rectorphp/rector/compare/0.18.13...0.19.0) [Compare Source](https://togithub.com/rectorphp/rector/compare/0.18.13...0.19.0) ### [`v0.18.13`](https://togithub.com/rectorphp/rector/releases/tag/0.18.13): Released Rector 0.18.13 [Compare Source](https://togithub.com/rectorphp/rector/compare/0.18.12...0.18.13) #### New Features :partying_face: - \[DeadCode] Add Function\_ support on RemoveUselessReturnTagRector ([#​5325](https://togithub.com/rectorphp/rector-src/pull/5325)) - \[TypeDeclaration] Add MergeDateTimePropertyTypeDeclarationRector ([#​5327](https://togithub.com/rectorphp/rector-src/pull/5327)) - \[DeadCode] Add Function\_ support on RemoveUselessParamTagRector ([#​5331](https://togithub.com/rectorphp/rector-src/pull/5331)) - \[DeadCode] Add RemoveNullTagValueNodeRector ([#​5352](https://togithub.com/rectorphp/rector-src/pull/5352)) <br> #### Bugfixes :bug: - \[Php83] Fix const from applying incorrect types ([#​5326](https://togithub.com/rectorphp/rector-src/pull/5326)), Thanks [@​peterfox](https://togithub.com/peterfox)! - \[TypeDeclaration] Fix missing change type to DateTimeInterface on MergeDateTimePropertyTypeDeclarationRector ([#​5329](https://togithub.com/rectorphp/rector-src/pull/5329)) - \[TypeDeclaration] Handle DateTimeInterface from use statement on MergeDateTimePropertyTypeDeclarationRector ([#​5330](https://togithub.com/rectorphp/rector-src/pull/5330)) - \[TypeDeclaration] Handle assign $this on TypedPropertyFromAssignsRector ([#​5333](https://togithub.com/rectorphp/rector-src/pull/5333)) - Fix array type if property is used in TypedPropertyFromStrictConstructorRector ([#​5339](https://togithub.com/rectorphp/rector-src/pull/5339)) - \[Naming] Skip DateTimeImmutable on RenamePropertyToMatchTypeRector ([#​5340](https://togithub.com/rectorphp/rector-src/pull/5340)) - \[PHP 7.4] Skip typed properties in the set, as standalone set now available ([#​5342](https://togithub.com/rectorphp/rector-src/pull/5342)) - \[TypeDeclaration] Skip has child return different type on ReturnNeverTypeRector ([#​5343](https://togithub.com/rectorphp/rector-src/pull/5343)) - \[Experiment]\[TypeDeclaration] Allow change abstract class methods with body on ReturnType\*Rector ([#​5344](https://togithub.com/rectorphp/rector-src/pull/5344)) - \[Php55] Make StringClassNameToClassConstantRector configurable to keep first pre-backslash string configurable ([#​5354](https://togithub.com/rectorphp/rector-src/pull/5354)) - \[TypeDeclaration] Skip casted to (array) on StrictArrayParamDimFetchRector ([#​5356](https://togithub.com/rectorphp/rector-src/pull/5356)) - \[TypeDeclaration] Return new static from different object on ReturnTypeFromStrictTypedCallRector ([#​5357](https://togithub.com/rectorphp/rector-src/pull/5357)) - \[TypeDeclaration] Allow return static from under function on ReturnTypeFromStrictTypedCallRector ([#​5358](https://togithub.com/rectorphp/rector-src/pull/5358)) - \[Naming] Skip `$this` in RenameForeachValueVariableToMatchExprVariableRector ([#​5360](https://togithub.com/rectorphp/rector-src/pull/5360)), Thanks [@​sreichel](https://togithub.com/sreichel)! - \[Transform] Do not create a new node if the existing node is already the correct one on AttributeKeyToClassConstFetchRector ([#​5328](https://togithub.com/rectorphp/rector-src/pull/5328)), Thanks [@​SerethiX](https://togithub.com/SerethiX)! - Bump to php parser 4.18 ([#​5362](https://togithub.com/rectorphp/rector-src/pull/5362)) - \[CodeQuality] Skip Superglobals variable on SimplifyEmptyCheckOnEmptyArrayRector ([#​5369](https://togithub.com/rectorphp/rector-src/pull/5369)) - \[Php55] Handle crash after exit() on GetCalledClassToSelfClassRector ([#​5372](https://togithub.com/rectorphp/rector-src/pull/5372)) - \[CodeQuality] Skip method call on else on TernaryFalseExpressionToIfRector ([#​5373](https://togithub.com/rectorphp/rector-src/pull/5373)) - Remove return type in case of never in RemoveUselessReturnTagRector ([#​5323](https://togithub.com/rectorphp/rector-src/pull/5323)), Thanks [@​staabm](https://togithub.com/staabm)! - \[DeadCode] Remove unused [@​return](https://togithub.com/return) mixed on RemoveUselessReturnTagRector ([#​5332](https://togithub.com/rectorphp/rector-src/pull/5332)) - \[DeadCode] Skip has parent class with \__call() magic method on RemoveParentCallWithoutParentRector ([#​5336](https://togithub.com/rectorphp/rector-src/pull/5336)) - \[PHP 5.5] Remove extra preslash in class reference, as in practice removal manually ([#​5338](https://togithub.com/rectorphp/rector-src/pull/5338)) - \[DeadCode] Remove null as never used param type in RemoveUselessParamTagRector ([#​5348](https://togithub.com/rectorphp/rector-src/pull/5348)) - **Remove json throw on error rule from PHP 7.3 set, as changed behavior and must be applied on purpose** ([#​5349](https://togithub.com/rectorphp/rector-src/pull/5349)) - \[Testing] Remove unnecessary set Parameter Source on TestingParser ([#​5371](https://togithub.com/rectorphp/rector-src/pull/5371)) ### [`v0.18.12`](https://togithub.com/rectorphp/rector/releases/tag/0.18.12): Released Rector 0.18.12 [Compare Source](https://togithub.com/rectorphp/rector/compare/0.18.11...0.18.12) #### New Features :partying_face: - \[CodeQuality] Add RemoveUselessIsObjectCheckRector ([#​5316](https://togithub.com/rectorphp/rector-src/pull/5316)) - \[PHP83] Implements a rule to add types to class constants ([#​5290](https://togithub.com/rectorphp/rector-src/pull/5290)), Thanks [@​peterfox](https://togithub.com/peterfox)! <br> #### Bugfixes :bug: - \[TypeDeclaration] Skip iterable already there in AddReturnTypeDeclarationFromYieldsRector ([#​5291](https://togithub.com/rectorphp/rector-src/pull/5291)) - \[TypeDeclaration] Remove ParamTypeFromStrictTypedPropertyRector as seems similar feature with AddParamTypeFromPropertyTypeRector ([#​5293](https://togithub.com/rectorphp/rector-src/pull/5293)) - \[CodingStyle] Remove AddArrayDefaultToArrayPropertyRector as based on docblock types and public contract, better use type declaration set instad ([#​5298](https://togithub.com/rectorphp/rector-src/pull/5298)) - \[TypeDeclaration] Skip return void in abstract empty class in AddVoidReturnTypeWhereNoReturnRector ([#​5311](https://togithub.com/rectorphp/rector-src/pull/5311)) - \[Php80] Skip PDO::query() on AddParamBasedOnParentClassMethodRector ([#​5313](https://togithub.com/rectorphp/rector-src/pull/5313)) - \[TypeDeclaration] Add If else assign support on TypedPropertyFromAssignsRector ([#​5314](https://togithub.com/rectorphp/rector-src/pull/5314)) - \[CodeQuality] Make CommonNotEqualRector skip if not <> ([#​5292](https://togithub.com/rectorphp/rector-src/pull/5292)) - \[Naming] Skip singularize "cms" on RenameForeachValueVariableToMatchExprVariableRector ([#​5294](https://togithub.com/rectorphp/rector-src/pull/5294)) - \[TypeDeclaration]\[Performance] Check typed param already early on ParamTypeByMethodCallTypeRector ([#​5295](https://togithub.com/rectorphp/rector-src/pull/5295)) - \[Strict] Fix DisallowedEmptyRuleFixerRector empty() allow string '0' check ([#​5296](https://togithub.com/rectorphp/rector-src/pull/5296)) - \[EarlyReturn] Skip duplicating complex expression in ChangeAndIfToEarlyReturnRector ([#​5301](https://togithub.com/rectorphp/rector-src/pull/5301)) - \[Scoped] Exclude symfony/console/Debug/CliRequest.php from parallel-lint PHP 7.2 syntax check ([#​5304](https://togithub.com/rectorphp/rector-src/pull/5304)) - Skip RenameMethodRector in never ([#​5305](https://togithub.com/rectorphp/rector-src/pull/5305)), Thanks [@​staabm](https://togithub.com/staabm)! - \[CodeQuality] Skip with else on SimplifyForeachToCoalescingRector ([#​5307](https://togithub.com/rectorphp/rector-src/pull/5307)) - \[Doc] Typo fix on sample code documentation on SimplifyForeachToCoalescingRector ([#​5308](https://togithub.com/rectorphp/rector-src/pull/5308)) - \[Privatization] Skip call non-private method on non-final class on PrivatizeLocalGetterToPropertyRector ([#​5309](https://togithub.com/rectorphp/rector-src/pull/5309)) - \[Privatization] Fix first class callable in PrivatizeLocalGetterToPropertyRector ([#​5310](https://togithub.com/rectorphp/rector-src/pull/5310)) - \[TypeDeclaration] Keep constant false return type from strict native call ([#​5223](https://togithub.com/rectorphp/rector-src/pull/5223)), Thanks [@​tomi85](https://togithub.com/tomi85)! - \[PHP 7.0] Skip mt_rand() replacement as not valuable ([#​5315](https://togithub.com/rectorphp/rector-src/pull/5315)) - \[Strict] Allow check '0' empty zero on BooleanInTernaryOperatorRuleFixerRector on string type ([#​5297](https://togithub.com/rectorphp/rector-src/pull/5297)) - Fix annotation to attribute parsing string ([#​5317](https://togithub.com/rectorphp/rector-src/pull/5317)) - \[Instanceof] Fix combination of dead instance and compare ([#​5319](https://togithub.com/rectorphp/rector-src/pull/5319)) - Remove isPositiveInteger() check for third argument to strpos() ([#​5257](https://togithub.com/rectorphp/rector-src/pull/5257)), Thanks [@​ikari7789](https://togithub.com/ikari7789)! - Remove return type in case of void in RemoveUselessReturnTagRector ([#​5318](https://togithub.com/rectorphp/rector-src/pull/5318)) - \[DeadCode] Skip [@​return](https://togithub.com/return) never with void on RemoveUselessReturnTagRector ([#​5320](https://togithub.com/rectorphp/rector-src/pull/5320)) - \[DeadCode] Remove useless nullable [@​return](https://togithub.com/return) doc on RemoveUselessReturnTagRector ([#​5321](https://togithub.com/rectorphp/rector-src/pull/5321)) ### [`v0.18.11`](https://togithub.com/rectorphp/rector/releases/tag/0.18.11): Released Rector 0.18.11 [Compare Source](https://togithub.com/rectorphp/rector/compare/0.18.10...0.18.11) #### Bugfixes :bug: - \[DeadCode] Skip multi no stmts on RemoveDuplicatedCaseInSwitchRector ([#​5258](https://togithub.com/rectorphp/rector-src/pull/5258)) - \[Performance]\[Renaming] Remove unnecessary array_reverse() on RenameClassRector ([#​5266](https://togithub.com/rectorphp/rector-src/pull/5266)) - \[TypeDeclaration] Skip default not array type on StrictArrayParamDimFetchRector ([#​5259](https://togithub.com/rectorphp/rector-src/pull/5259)) - \[TypeDeclaration] Skip echo-ed on StrictArrayParamDimFetchRector ([#​5260](https://togithub.com/rectorphp/rector-src/pull/5260)) - \[Php71] Skip re-assigned as array on AssignArrayToStringRector ([#​5261](https://togithub.com/rectorphp/rector-src/pull/5261)) - \[Php71] Ensure re-assign after definition on AssignArrayToStringRector ([#​5262](https://togithub.com/rectorphp/rector-src/pull/5262)) - \[Renaming] Handle Rename no namespace to namespaced class with existing use statements ([#​5264](https://togithub.com/rectorphp/rector-src/pull/5264)) - \[Renaming]\[Performance] Re-structure check namespace only on renamed node got Namespace\_ ([#​5265](https://togithub.com/rectorphp/rector-src/pull/5265)) - \[Php81] Skip increment/decrement on ReadOnlyPropertyRector ([#​5267](https://togithub.com/rectorphp/rector-src/pull/5267)) - \[TypeDeclaration] Deprecate TypedPropertyFromStrictGetterMethodReturnTypeRector as depends on missing context and creates invalid code ([#​5269](https://togithub.com/rectorphp/rector-src/pull/5269)) - \[AutoImport] Fixing auto import on multiple @​\ usage ([#​5271](https://togithub.com/rectorphp/rector-src/pull/5271)) - \[Performance]\[Renaming] Use FullyQualified on RenameClassRector ([#​5272](https://togithub.com/rectorphp/rector-src/pull/5272)) - \[AutoImport] Handle complex usage of multiple @​\ combined with other doc ([#​5273](https://togithub.com/rectorphp/rector-src/pull/5273)) - \[AutoImport] Handle multi @​\ usage on multiline description ([#​5274](https://togithub.com/rectorphp/rector-src/pull/5274)) - \[Php80] Handle FQCN @​\ usage on AnnotationToAttributeRector ([#​5240](https://togithub.com/rectorphp/rector-src/pull/5240)) - \[BetterPhpDocParser] Handle nested doctrine annotation with single quote content ([#​5281](https://togithub.com/rectorphp/rector-src/pull/5281)) - \[Privatization] Skip method with parent call ([#​5283](https://togithub.com/rectorphp/rector-src/pull/5283)) - \[BetterPhpDocParser] Use ORIG_NODE attribute on DoctrineAnnotationDecorator on handle @​\ after generic ([#​5285](https://togithub.com/rectorphp/rector-src/pull/5285)) - \[Php80] Allow subnamespace from use statements support on AnnotationToAttributeRector ([#​5287](https://togithub.com/rectorphp/rector-src/pull/5287)) <br> #### Removed :skull: - Remove deprecated Rector rules ([#​5270](https://togithub.com/rectorphp/rector-src/pull/5270)) ### [`v0.18.10`](https://togithub.com/rectorphp/rector/releases/tag/0.18.10): Released Rector 0.18.10 [Compare Source](https://togithub.com/rectorphp/rector/compare/0.18.9...0.18.10) #### Bugfixes :bug: - \[Renaming] FQN-ize namespaced import no namespace -> namespaced name on RenameClassRector ([#​5256](https://togithub.com/rectorphp/rector-src/pull/5256)) ### [`v0.18.9`](https://togithub.com/rectorphp/rector/releases/tag/0.18.9): Released Rector 0.18.9 [Compare Source](https://togithub.com/rectorphp/rector/compare/0.18.8...0.18.9) #### New Features 🥳 - \[DeadCode]: Support functions in RemoveUnusedVariableAssignRector ([#​5249](https://togithub.com/rectorphp/rector-src/pull/5249) - \[Performance]\[PostRector] Only process FullyQualified on import Node name on NameImportingPostRector ([#​5255](https://togithub.com/rectorphp/rector-src/pull/5255)) #### Bugfixes :bug: - \[AutoImport]\[Php70] Keep FQCN on conflict last name on TernaryToNullCoalescingRector ([#​5251](https://togithub.com/rectorphp/rector-src/pull/5251)) - \[Naming] Fix dotted name on generics bug in RenameVariableToMatchMethodCallReturnTypeRector ([#​5250](https://togithub.com/rectorphp/rector-src/pull/5250)) - \[Php73] Handle crash on JsonThrowOnErrorRector + SensitiveConstantNameRector ([#​5253](https://togithub.com/rectorphp/rector-src/pull/5253)) - \[CodingStyle] Refactor UseImportsAdder to return \[FileWithoutNamespace] code on no namespaced code ([#​5254](https://togithub.com/rectorphp/rector-src/pull/5254)) ### [`v0.18.8`](https://togithub.com/rectorphp/rector/releases/tag/0.18.8): Released Rector 0.18.8 [Compare Source](https://togithub.com/rectorphp/rector/compare/0.18.7...0.18.8) #### Bugfixes :bug: - Bump to reactphp/event-loop ^1.5 ([#​5246](https://togithub.com/rectorphp/rector-src/pull/5246)) - \[AutoImport] Skip auto import on no namespace used class on auto import enabled ([#​5247](https://togithub.com/rectorphp/rector-src/pull/5247)) - \[AutoImport]\[Renaming] Handle same last name no namespace just renamed auto import ([#​5248](https://togithub.com/rectorphp/rector-src/pull/5248)) ### [`v0.18.7`](https://togithub.com/rectorphp/rector/releases/tag/0.18.7): Released Rector 0.18.7 [Compare Source](https://togithub.com/rectorphp/rector/compare/0.18.6...0.18.7) #### New Features :partying_face: - \[CodeQuality] Add negated support on SingleInArrayToCompareRector ([#​5205](https://togithub.com/rectorphp/rector-src/pull/5205)) - \[Php83] Adds rule for adding Override attribute ([#​5170](https://togithub.com/rectorphp/rector-src/pull/5170)), Thanks [@​peterfox](https://togithub.com/peterfox)! <br> #### Bugfixes :bug: - BinaryOpBetweenNumberAndStringRector don't trust phpdoc ([#​5199](https://togithub.com/rectorphp/rector-src/pull/5199)), Thanks [@​staabm](https://togithub.com/staabm)! - \[CodeQuality]\[Php70] Handle LocallyCalledStaticMethodToNonStaticRector + ThisCallOnStaticMethodToStaticCallRector must change both method and caller ([#​5196](https://togithub.com/rectorphp/rector-src/pull/5196)) - CountArrayToEmptyArrayComparisonRector: don't trust phpdoc ([#​5203](https://togithub.com/rectorphp/rector-src/pull/5203)), Thanks [@​staabm](https://togithub.com/staabm)! - \[TypeDeclaration] Skip union false on NumericReturnTypeFromStrictScalarReturnsRector ([#​5204](https://togithub.com/rectorphp/rector-src/pull/5204)) - \[CodeQuality] Handle negated isset on IssetOnPropertyObjectToPropertyExistsRector on property not exists ([#​5206](https://togithub.com/rectorphp/rector-src/pull/5206)) - \[CodeQuality] Handle crash no scope on ThrowWithPreviousExceptionRector+OptionalParametersAfterRequiredRector ([#​5207](https://togithub.com/rectorphp/rector-src/pull/5207)) - \[NodeTypeResolver] Clean up TryCatch\_ Scope filling ([#​5208](https://togithub.com/rectorphp/rector-src/pull/5208)) - \[PHPStanStaticTypeMapper] Clean up tweak false and bool check on UnionTypeMapper ([#​5209](https://togithub.com/rectorphp/rector-src/pull/5209)) - \[TypeDeclaration] Skip default numeric string on param int on ParamTypeByMethodCallTypeRector ([#​5210](https://togithub.com/rectorphp/rector-src/pull/5210)) - \[AutoImport] Handle AnnotationToAttributeRector + RenameClassRector then enable auto import ([#​5213](https://togithub.com/rectorphp/rector-src/pull/5213)) - \[Php80] Keep single quoted Argument Attribute on AnnotationToAttributeRector ([#​5214](https://togithub.com/rectorphp/rector-src/pull/5214)) - \[Php80] Keep single quoted key: 'value' on AnnotationToAttributeRector ([#​5215](https://togithub.com/rectorphp/rector-src/pull/5215)) - \[AutoImport] Ensure change to FullyQualified for Attribute on just changed from annotation ([#​5216](https://togithub.com/rectorphp/rector-src/pull/5216)) - \[Php52]\[Php70] Handle ContinueToBreakInSwitchRector + BreakNotInLoopOrSwitchToReturnRector ([#​5217](https://togithub.com/rectorphp/rector-src/pull/5217)) - \[Php80] Handle RenameClassRector+AnnotationToAttributeRector with auto import and existing attribute defined ([#​5219](https://togithub.com/rectorphp/rector-src/pull/5219)) - \[Testing] In case of failed test using multiple rules, show applied Rector rules to make easy to find them ([#​5222](https://togithub.com/rectorphp/rector-src/pull/5222)) - \[NodeTypeResolver] Handle nullable extended class on ->isObjectType() on DowngradeReflectionGetAttributesRector ([#​5224](https://togithub.com/rectorphp/rector-src/pull/5224)) - NullableCompareToNullRector: Don't trust phpdocs ([#​5225](https://togithub.com/rectorphp/rector-src/pull/5225)), Thanks [@​staabm](https://togithub.com/staabm)! - \[CodingStyle] Move ArraySpreadInsteadOfArrayMergeRector from php74 to codingstyle sets list ([#​5230](https://togithub.com/rectorphp/rector-src/pull/5230)) - \[PostRector] Ensure old classes in use statements cleaned up after rename attribuet on ClassRenamingPostRector ([#​5231](https://togithub.com/rectorphp/rector-src/pull/5231)) - RestoreDefaultNullToNullableTypePropertyRector: skip `@readonly` phpdoc ([#​5233](https://togithub.com/rectorphp/rector-src/pull/5233)), Thanks [@​staabm](https://togithub.com/staabm)! - \[AutoImport] Handle DeclareStrictTypesRector on importNames() enabled on no namespace ([#​5241](https://togithub.com/rectorphp/rector-src/pull/5241)) - \[AutoImport] Allow auto import just renamed [@​var](https://togithub.com/var) only docblock on RenameClassRector without removeUnusedImports() enabled ([#​5220](https://togithub.com/rectorphp/rector-src/pull/5220)) - Remove rule DataProviderArrayItemsNewlinedRector.php ([#​5227](https://togithub.com/rectorphp/rector-src/pull/5227)), Thanks [@​eerison](https://togithub.com/eerison)! - Remove `ArraySpreadInsteadOfArrayMergeRector` from `LevelSetList::UP_TO_PHP_74` ([#​5228](https://togithub.com/rectorphp/rector-src/pull/5228)), Thanks [@​staabm](https://togithub.com/staabm)! - \[DeadCode] Allow indirect duplicated grouping on RemoveDuplicatedCaseInSwitchRector ([#​5234](https://togithub.com/rectorphp/rector-src/pull/5234)) - \[DeadCode] Reduce double loop on RemoveDuplicatedCaseInSwitchRector ([#​5235](https://togithub.com/rectorphp/rector-src/pull/5235)) - \[DeadCode] Handle different indirect duplicated on RemoveDuplicatedCaseInSwitchRector ([#​5236](https://togithub.com/rectorphp/rector-src/pull/5236)) - \[DeadCode] Ensure change hasChanged flag on RemoveDuplicatedCaseInSwitchRector ([#​5237](https://togithub.com/rectorphp/rector-src/pull/5237)) - \[DeadCode] Handle repetitive jump equal case stmts on RemoveDuplicatedCaseInSwitchRector ([#​5239](https://togithub.com/rectorphp/rector-src/pull/5239)) - Rename parameter variable to nextCase on RemoveDuplicatedCaseInSwitchRector ([#​5244](https://togithub.com/rectorphp/rector-src/pull/5244)) ### [`v0.18.6`](https://togithub.com/rectorphp/rector/releases/tag/0.18.6): Released Rector 0.18.6 [Compare Source](https://togithub.com/rectorphp/rector/compare/0.18.5...0.18.6) ##### New Features and Changes :partying_face: - \[CodeQuality] Add CompleteMissingIfElseBracketRector ([#​5121](https://togithub.com/rectorphp/rector-src/pull/5121)) - \[CodeQuality] Add Else and ElseIf on CompleteMissingIfElseBracketRector ([#​5124](https://togithub.com/rectorphp/rector-src/pull/5124)) - \[TypeDeclaration] Utilize ClassMethodReturnTypeOverrideGuard on AddReturnTypeDeclarationFromYieldsRector ([#​5156](https://togithub.com/rectorphp/rector-src/pull/5156)) - \[DeadCode] Add RemoveUselessReturnExprInConstructRector ([#​5158](https://togithub.com/rectorphp/rector-src/pull/5158)) - Improve UnaryPlus and UnaryMinus support in isDynamicExpr ([#​5177](https://togithub.com/rectorphp/rector-src/pull/5177)), Thanks [@​JulianCBC](https://togithub.com/JulianCBC)! <br> ##### Bugfixes :bug: - \[CodeQuality] Skip VB style if endif on CompleteMissingIfElseBracketRector ([#​5122](https://togithub.com/rectorphp/rector-src/pull/5122)) - \[CodeQuality] Skip direct InlineHTML on CompleteMissingIfElseBracketRector ([#​5125](https://togithub.com/rectorphp/rector-src/pull/5125)) - \[CodeQuality] Skip spaced elseif cond on CompleteMissingIfElseBracketRector ([#​5126](https://togithub.com/rectorphp/rector-src/pull/5126)) - \[CodeQuality] Only check start from current Stmt token pos up until open parentheses on CompleteMissingIfElseBracketRector ([#​5127](https://togithub.com/rectorphp/rector-src/pull/5127)) - \[CodeQuality] Handle all if,elseif,else no bracket on CompleteMissingIfElseBracketRector ([#​5129](https://togithub.com/rectorphp/rector-src/pull/5129)) - \[CodeQuality] Skip VB style in complex HTML on CompleteMissingIfElseBracketRector ([#​5132](https://togithub.com/rectorphp/rector-src/pull/5132)) - Skip `__construct()` in BoolReturnTypeFromStrictScalarReturnsRector ([#​5133](https://togithub.com/rectorphp/rector-src/pull/5133)), Thanks [@​staabm](https://togithub.com/staabm)! - \[CodeQuality] Handle missing bracket on If only on CompleteMissingIfElseBracketRector ([#​5134](https://togithub.com/rectorphp/rector-src/pull/5134)) - \[CodeQuality] Handle on closure, anonymous function, method call on CompleteMissingIfElseBracketRector ([#​5135](https://togithub.com/rectorphp/rector-src/pull/5135)) - \[CodeQuality] Use its start token pos on Else\_ on CompleteMissingIfElseBracketRector as no cond ([#​5136](https://togithub.com/rectorphp/rector-src/pull/5136)) - \[PhpParser] Reduce AstResolver complexity by move check fileName is null to parseFileNameToDecoratedNodes() ([#​5138](https://togithub.com/rectorphp/rector-src/pull/5138)) - \[TypeDeclaration] Handle Union with array type on ReturnUnionTypeRector ([#​5144](https://togithub.com/rectorphp/rector-src/pull/5144)) - \[TypeDeclaration] Handle union A extends B on ReturnUnionTypeRector ([#​5149](https://togithub.com/rectorphp/rector-src/pull/5149)) - \[CodeQuality] Fix missing parentheses on CombineIfRector ([#​5151](https://togithub.com/rectorphp/rector-src/pull/5151)) - \[TypeDeclaration] Utilize ClassMethodReturnTypeOverrideGuard on NumericReturnTypeFromStrictScalarReturnsRector ([#​5155](https://togithub.com/rectorphp/rector-src/pull/5155)) - \[CodeQuality] Handle negative and positive int/float on InlineConstructorDefaultToPropertyRector ([#​5159](https://togithub.com/rectorphp/rector-src/pull/5159)) - \[CodeQuality] Skip docblock usage on SimplifyBoolIdenticalTrueRector ([#​5161](https://togithub.com/rectorphp/rector-src/pull/5161)) - \[CodeQuality] Skip magic property fetch on IssetOnPropertyObjectToPropertyExistsRector ([#​5163](https://togithub.com/rectorphp/rector-src/pull/5163)) - \[PostRector] Reduce loop on ClassRenamingPostRector ([#​5174](https://togithub.com/rectorphp/rector-src/pull/5174)) - \[PostRector] Fix ClassRenamingPostRector return when no auto import replacement ([#​5175](https://togithub.com/rectorphp/rector-src/pull/5175)) - \[Renaming] Skip nullable object object|null on RenameMethodRector ([#​5181](https://togithub.com/rectorphp/rector-src/pull/5181)) - \[Downgradephp81]\[DowngradePhp80] Handle No scope crash on DowngradeSetAccessibleReflectionPropertyRector + DowngradeMatchToSwitchRector ([#​5183](https://togithub.com/rectorphp/rector-src/pull/5183)) - \[Naming] Skip DateTime from renaming, to keep convention of named dates ([#​5184](https://togithub.com/rectorphp/rector-src/pull/5184)) - Skip new self in RenameVariableToMatchNewTypeRector ([#​5185](https://togithub.com/rectorphp/rector-src/pull/5185)) - Skip DateTime in ExpectedNameResolver ([#​5186](https://togithub.com/rectorphp/rector-src/pull/5186)) - \[Naming] Skip all kinds of generators ([#​5187](https://togithub.com/rectorphp/rector-src/pull/5187)) - \[Renaming] Skip pointless names in RenameForeachValueVariableToMatchMethodCallReturnTypeRector ([#​5188](https://togithub.com/rectorphp/rector-src/pull/5188)) - \[Php70] Fix Php4 contructor not replaced with \__construct() on php 7.4 environment ([#​5189](https://togithub.com/rectorphp/rector-src/pull/5189)) - \[Php74]\[Php81] Allow mixed key on ArraySpreadInsteadOfArrayMergeRector on php 8.1 version feature enabled ([#​5190](https://togithub.com/rectorphp/rector-src/pull/5190)) - \[TypeDeclaration] Handle skipped by file path on DeclareStrictTypesRector due to use beforeTraverse() ([#​5191](https://togithub.com/rectorphp/rector-src/pull/5191)) - Fix phpstan notice $phpVersion on Rector\Config\RectorConfig::phpVersion() ([#​5193](https://togithub.com/rectorphp/rector-src/pull/5193)) - \[PHPStanStaticTypeMapper] Remove BoolUnionTypeAnalyzer on UnionTypeMapper ([#​5141](https://togithub.com/rectorphp/rector-src/pull/5141)) - \[DeadCode] Remove UnionType check on RecastingRemovalRector ([#​5142](https://togithub.com/rectorphp/rector-src/pull/5142)) - Remove src/constants.php for T_ENUM and T_NAME_RELATIVE ([#​5143](https://togithub.com/rectorphp/rector-src/pull/5143)) - \[PHPStanStaticTypeMapper] Remove narrow string and int on UnionTypeMapper ([#​5145](https://togithub.com/rectorphp/rector-src/pull/5145)) - \[PHPStanStaticTypeMapper] Remove matchArrayTypes() on UnionTypeMapper ([#​5146](https://togithub.com/rectorphp/rector-src/pull/5146)) - \[DeadCode] Skip indirect variable definition on RemoveNonExistingVarAnnotationRector ([#​5152](https://togithub.com/rectorphp/rector-src/pull/5152)) - \[DeadCode] Skip key used in next stmt on RemoveUnusedForeachKeyRector ([#​5153](https://togithub.com/rectorphp/rector-src/pull/5153)) - \[DeadCode] Skip used in next For\_/Foreach\_ on RemoveDeadIfForeachForRector ([#​5154](https://togithub.com/rectorphp/rector-src/pull/5154)) - \[DeadCode] Handle file_get_contents() only remove variable on RemoveUnusedVariableAssignRector ([#​5162](https://togithub.com/rectorphp/rector-src/pull/5162)) - \[DeadCode] Skip count() on mixed on RemoveUnusedNonEmptyArrayBeforeForeachRector ([#​5160](https://togithub.com/rectorphp/rector-src/pull/5160)) - RemoveUnusedNonEmptyArrayBeforeForeachRector: ignore phpdoc types ([#​5169](https://togithub.com/rectorphp/rector-src/pull/5169)), Thanks [@​staabm](https://togithub.com/staabm)! - RemoveUnusedNonEmptyArrayBeforeForeachRector: skip array dim fetch ([#​5166](https://togithub.com/rectorphp/rector-src/pull/5166)), Thanks [@​staabm](https://togithub.com/staabm)! - \[DeadCode] Skip return false pseudo type in union on RemoveUselessReturnTagRector ([#​5172](https://togithub.com/rectorphp/rector-src/pull/5172)) - \[AutoImport] \[Renaming] Skip remove used use statement on annotation during rename + auto import when no replacement on auto import ([#​5168](https://togithub.com/rectorphp/rector-src/pull/5168)) - \[DeadCode] Mirror comment on assign method call on RemoveUnusedVariableAssignRector ([#​5195](https://togithub.com/rectorphp/rector-src/pull/5195)) ### [`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)) <br> #### 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)) <br> #### 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)) <br> #### 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)) <br> #### 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)) <br> #### 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/rec </details> --- ### 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. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://togithub.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/Lendable/clock). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMDMuMSIsInVwZGF0ZWRJblZlciI6IjM3LjEyNy4wIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIn0=--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
- Loading branch information