-
Notifications
You must be signed in to change notification settings - Fork 18
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Adding node information to DeprecatedScopeResolver::isScopeDeprecated? #106
Comments
#73 is actually realated seeing the issue description, but the PR actually doesnt solve that issue it seems |
With this change in PHPStan you'll be able to read it from Scope: phpstan/phpstan-src@9be1376 |
Oh wow. Thank you for the quick turnaround, I'll look into it right away |
Require phpstan/phpstan 1.10.x-dev until this is released 😊 |
yeah i did that, unfrotunately i get an empty array in my test when i try the following in my test
Not sure why, the scope is not a mutating scope though, or do i need to add is somewhere else also? This is my composer.json
Php 8.1 also. |
Seems the issue is that the
I get
Which means it only gets to the method inwhich there are the statements. This is the full fixture:
|
Hmm, thinking about this. Do i need to write a rule that targets that specific deprecation (i hope not)? Or do i need to add a rule that targets arrow functions (and anonimous ones) so it can actually start checking those through the scope resolver? |
|
I mightve been too fast then. I'll look again tonight. |
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [phpstan/phpstan](https://togithub.com/phpstan/phpstan) | `^1.10.54` -> `^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.54/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.54/1.10.55?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [rector/rector](https://getrector.org) ([source](https://togithub.com/rectorphp/rector)) | `^0.18.13` -> `^0.19.0` | [![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.13/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.13/0.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- > [!WARNING] > Some dependencies could not be looked up. Check the Dependency Dashboard for more information. --- ### Release Notes <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 (phpstan/phpstan-src@8b6260c), [#​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 (phpstan/phpstan-src@bbd9a68), [#​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 (phpstan/phpstan-src@9dac90d), [#​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 (phpstan/phpstan-src@2270051), [#​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()` (phpstan/phpstan-src@9be1376), [phpstan/phpstan-deprecation-rules#106 </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) </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/ben-challis/sql-migrations). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMjEuMCIsInVwZGF0ZWRJblZlciI6IjM3LjEyMS4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [phpstan/phpstan](https://togithub.com/phpstan/phpstan) | `^1.10.52` -> `^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.52/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.52/1.10.55?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [rector/rector](https://getrector.org) ([source](https://togithub.com/rectorphp/rector)) | `^0.18.13` -> `^0.19.0` | [![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.13/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.13/0.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <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 (phpstan/phpstan-src@8b6260c), [#​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 (phpstan/phpstan-src@bbd9a68), [#​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 (phpstan/phpstan-src@9dac90d), [#​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 (phpstan/phpstan-src@2270051), [#​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()` (phpstan/phpstan-src@9be1376), [phpstan/phpstan-deprecation-rules#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" (phpstan/phpstan-src@02f66df), [#​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 (phpstan/phpstan-src@a81df66) - Fix falsy isset for all expressions (phpstan/phpstan-src@af14d50), [#​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 (phpstan/phpstan@3e7c7c7?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)! </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) </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/aggregate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMjEuMCIsInVwZGF0ZWRJblZlciI6IjM3LjEyMS4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Marcin Michalski <marcin.michalski@lendable.co.uk>
Thanks for the update @ondrejmirtes I'm going to help dig in :) |
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [phpstan/phpstan](https://togithub.com/phpstan/phpstan) | `^1.10.54` -> `^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.54/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.54/1.10.55?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [rector/rector](https://getrector.org) ([source](https://togithub.com/rectorphp/rector)) | `^0.18.13` -> `^0.19.0` | [![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.13/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.13/0.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <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 (phpstan/phpstan-src@8b6260c), [#​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 (phpstan/phpstan-src@bbd9a68), [#​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 (phpstan/phpstan-src@9dac90d), [#​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 (phpstan/phpstan-src@2270051), [#​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()` (phpstan/phpstan-src@9be1376), [phpstan/phpstan-deprecation-rules#106 </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) </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/composer-license-checker). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMjEuMCIsInVwZGF0ZWRJblZlciI6IjM3LjEyNy4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Marcin Michalski <marcin.michalski@lendable.co.uk>
[![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>
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [google/protobuf](https://developers.google.com/protocol-buffers/) ([source](https://togithub.com/protocolbuffers/protobuf-php)) | `3.25.1` -> `3.25.2` | [![age](https://developer.mend.io/api/mc/badges/age/packagist/google%2fprotobuf/3.25.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/packagist/google%2fprotobuf/3.25.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/packagist/google%2fprotobuf/3.25.1/3.25.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/packagist/google%2fprotobuf/3.25.1/3.25.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [phpstan/phpstan](https://togithub.com/phpstan/phpstan) | `1.10.54` -> `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.54/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.54/1.10.55?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [phpunit/phpunit](https://phpunit.de/) ([source](https://togithub.com/sebastianbergmann/phpunit)) | `10.5.5` -> `10.5.7` | [![age](https://developer.mend.io/api/mc/badges/age/packagist/phpunit%2fphpunit/10.5.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/packagist/phpunit%2fphpunit/10.5.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/packagist/phpunit%2fphpunit/10.5.5/10.5.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/packagist/phpunit%2fphpunit/10.5.5/10.5.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [vimeo/psalm](https://togithub.com/vimeo/psalm) | `5.18.0` -> `5.19.0` | [![age](https://developer.mend.io/api/mc/badges/age/packagist/vimeo%2fpsalm/5.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/packagist/vimeo%2fpsalm/5.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/packagist/vimeo%2fpsalm/5.18.0/5.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/packagist/vimeo%2fpsalm/5.18.0/5.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>protocolbuffers/protobuf-php (google/protobuf)</summary> ### [`v3.25.2`](https://togithub.com/protocolbuffers/protobuf-php/compare/v3.25.1...v3.25.2) [Compare Source](https://togithub.com/protocolbuffers/protobuf-php/compare/v3.25.1...v3.25.2) </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 (phpstan/phpstan-src@8b6260c), [#​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 (phpstan/phpstan-src@bbd9a68), [#​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 (phpstan/phpstan-src@9dac90d), [#​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 (phpstan/phpstan-src@2270051), [#​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()` (phpstan/phpstan-src@9be1376), [phpstan/phpstan-deprecation-rules#106 </details> <details> <summary>sebastianbergmann/phpunit (phpunit/phpunit)</summary> ### [`v10.5.7`](https://togithub.com/sebastianbergmann/phpunit/compare/10.5.6...10.5.7) [Compare Source](https://togithub.com/sebastianbergmann/phpunit/compare/10.5.6...10.5.7) ### [`v10.5.6`](https://togithub.com/sebastianbergmann/phpunit/compare/10.5.5...10.5.6) [Compare Source](https://togithub.com/sebastianbergmann/phpunit/compare/10.5.5...10.5.6) </details> <details> <summary>vimeo/psalm (vimeo/psalm)</summary> ### [`v5.19.0`](https://togithub.com/vimeo/psalm/releases/tag/5.19.0) [Compare Source](https://togithub.com/vimeo/psalm/compare/5.18.0...5.19.0) <!-- Release notes generated using configuration in .github/release.yml at 5.x --> #### What's Changed ##### Features - Reduce memory consumption of caching and parallel processing without igbinary by [@​sj-i](https://togithub.com/sj-i) in [vimeo/psalm#10532 - filter_input & filter_var return type more specific by [@​kkmuffme](https://togithub.com/kkmuffme) in [vimeo/psalm#10498 ##### Fixes - strtok always returns a non-empty-string when it does not return false by [@​kkmuffme](https://togithub.com/kkmuffme) in [vimeo/psalm#10497 - Fix [#​10512](https://togithub.com/vimeo/psalm/issues/10512): Fixed SessionUpdateTimestampHandlerInterface parameter names by [@​zerkms](https://togithub.com/zerkms) in [vimeo/psalm#10524 - Fix [GH-10465](https://togithub.com/vimeo/psalm/issues/10465) by [@​florisluiten](https://togithub.com/florisluiten) in [vimeo/psalm#10483 - Fix callable without args not handled correctly by [@​kkmuffme](https://togithub.com/kkmuffme) in [vimeo/psalm#10500 - Add error when using readonly property in by-ref arg by [@​kkmuffme](https://togithub.com/kkmuffme) in [vimeo/psalm#10505 - fix: [#​10496](https://togithub.com/vimeo/psalm/issues/10496) [#​10503](https://togithub.com/vimeo/psalm/issues/10503) by [@​ging-dev](https://togithub.com/ging-dev) in [vimeo/psalm#10508 #### New Contributors - [@​florisluiten](https://togithub.com/florisluiten) made their first contribution in [vimeo/psalm#10483 **Full Changelog**: vimeo/psalm@5.18.0...5.19.0 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "before 4am on Monday" (UTC), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **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/cerbos/cerbos-sdk-php). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMjcuMCIsInVwZGF0ZWRJblZlciI6IjM3LjEyNy4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9--> Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Signed-off-by: Oğuzhan Durgun <oguzhandurgun95@gmail.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | 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.7` | [![age](https://developer.mend.io/api/mc/badges/age/packagist/phpunit%2fphpunit/10.5.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/packagist/phpunit%2fphpunit/10.5.7?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.7?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.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [rector/rector](https://getrector.org) ([source](https://togithub.com/rectorphp/rector)) | `^0.18.12` -> `^0.19.0` | [![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.12/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.12/0.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <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 (phpstan/phpstan-src@8b6260c), [#​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 (phpstan/phpstan-src@bbd9a68), [#​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 (phpstan/phpstan-src@9dac90d), [#​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 (phpstan/phpstan-src@2270051), [#​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()` (phpstan/phpstan-src@9be1376), [phpstan/phpstan-deprecation-rules#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" (phpstan/phpstan-src@02f66df), [#​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 (phpstan/phpstan-src@a81df66) - Fix falsy isset for all expressions (phpstan/phpstan-src@af14d50), [#​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 (phpstan/phpstan@3e7c7c7?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 (phpstan/phpstan-src@78ea9a6) - Show internal errors that occured when generating a baseline (phpstan/phpstan-src@c997ea9) # Bugfixes 🐛 - Load PHP polyfills in bootstrap.php (phpstan/phpstan@21df2d3), [#​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 (phpstan/phpstan-src@25d1552), [#​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 (phpstan/phpstan-src@0359ebc) - Analyse stubs only when not only files are analysed (phpstan/phpstan-src@4020240) - Nicer error message in case of memory limit exhaustion in child process (phpstan/phpstan-src@816be99) # 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 (phpstan/phpstan-src@d801919), [#​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 (phpstan/phpstan-src@436bd79, phpstan/phpstan-src@7eb66f6, phpstan/phpstan-src@bf0b138), [#​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 (phpstan/phpstan-src@995de26) - 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.7`](https://togithub.com/sebastianbergmann/phpunit/compare/10.5.6...10.5.7) [Compare Source](https://togithub.com/sebastianbergmann/phpunit/compare/10.5.6...10.5.7) ### [`v10.5.6`](https://togithub.com/sebastianbergmann/phpunit/compare/10.5.5...10.5.6) [Compare Source](https://togithub.com/sebastianbergmann/phpunit/compare/10.5.5...10.5.6) ### [`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/releases/tag/0.19.0): Released Rector 0.19.0 [Compare Source](https://togithub.com/rectorphp/rector/compare/0.18.13...0.19.0) In this release we merged 2 directories into `/src` to speed up class loading and make work with code easier. This leads to BC change in namespace for your custom rules: ```diff -use Rector\Core\ +use Rector\ ``` That's it! #### New Features 🥳 - \[psr-4] Move /packages directory to /src under single Rector\ namespace ([#​5414](https://togithub.com/rectorphp/rector-src/pull/5414)) - \[Arguments] Allow no default value on ArgumentAdderRector ([#​5382](https://togithub.com/rectorphp/rector-src/pull/5382)) - **Add related polyfill interface to other PHP 8.0/7.3 rules** ([#​5389](https://togithub.com/rectorphp/rector-src/pull/5389)) - \[CodingStyle] Add RemoveUselessAliasInUseStatementRector ([#​5394](https://togithub.com/rectorphp/rector-src/pull/5394)) - \[Php83] Add CombineHostPortLdapUriRector ([#​5397](https://togithub.com/rectorphp/rector-src/pull/5397)) - \[TypeDeclaration] optionally only add types for hard coded return values in `ReturnTypeFromStrictScalarReturnExprRector` ([#​5364](https://togithub.com/rectorphp/rector-src/pull/5364)), Thanks [@​RobertMe](https://togithub.com/RobertMe)! - Add phpstan native cond types for getName() for nodes that always return a string ([#​5413](https://togithub.com/rectorphp/rector-src/pull/5413)) - \[Strict] Add StaticProperty supporton may be unitialized static property on DisallowedEmptyRuleFixerRector ([#​5428](https://togithub.com/rectorphp/rector-src/pull/5428)) - \[Php83] Add implements interface support on AddOverrideAttributeToOverriddenMethodsRector ([#​5429](https://togithub.com/rectorphp/rector-src/pull/5429)) - \[cs] Make use of new ECS config ([#​5445](https://togithub.com/rectorphp/rector-src/pull/5445)) <br> #### Bugfixes 🐛 - \[TypeDeclaration] Add false and true in union support on ReturnUnionTypeRector ([#​5355](https://togithub.com/rectorphp/rector-src/pull/5355)) - Skip classes without final and exception as possibly invoke child implement in AddVoidReturnTypeWhereNoReturnRector ([#​5381](https://togithub.com/rectorphp/rector-src/pull/5381)) - Skip non-final class method with no content in AddVoidReturnTypeWhereNoReturnRector ([#​5386](https://togithub.com/rectorphp/rector-src/pull/5386)) - \[TypeDeclaration] Allow add void return type on magic `__invoke()` method on AddVoidReturnTypeWhereNoReturnRector ([#​5376](https://togithub.com/rectorphp/rector-src/pull/5376)) - Add `ReturnTypeFromStrictBoolReturnExprRector` support for if/else returns ([#​5384](https://togithub.com/rectorphp/rector-src/pull/5384)) - Skip void without final keyword in ReturnNeverTypeRector as could be implemented with more precise children ([#​5379](https://togithub.com/rectorphp/rector-src/pull/5379)) - Fix StrictArrayParamDimFetchRector for string access ([#​5383](https://togithub.com/rectorphp/rector-src/pull/5383)) - Fix variable to property fetch update in ClassPropertyAssignToConstructorPromotionRector ([#​5385](https://togithub.com/rectorphp/rector-src/pull/5385)) - \[Php] Fix filter cache on PolyfillPackagesProvider ([#​5390](https://togithub.com/rectorphp/rector-src/pull/5390)) - \[Parallel] Fix missing --xdebug in WorkerCommand line on WorkerCommandLineFactory when --xdebug provided ([#​5398](https://togithub.com/rectorphp/rector-src/pull/5398)) - Bump phpstan to 1.10.50 ([#​5399](https://togithub.com/rectorphp/rector-src/pull/5399)) - \[Php83] Handle dynamic host and port values on CombineHostPortLdapUriRector ([#​5401](https://togithub.com/rectorphp/rector-src/pull/5401)) - \[config] Extract RectorConfigValidator and handle config validation there ([#​5404](https://togithub.com/rectorphp/rector-src/pull/5404)) - \[psr-4] Update Rector core test reference ([#​5410](https://togithub.com/rectorphp/rector-src/pull/5410)) - \[cleanup] Decouple changelog generator ([#​5412](https://togithub.com/rectorphp/rector-src/pull/5412)) - \[Strict] Handle may be unitialized property on DisallowedEmptyRuleFixerRector ([#​5409](https://togithub.com/rectorphp/rector-src/pull/5409)) - Bump min. version to PHP 8.2 - readonly classes ([#​5415](https://togithub.com/rectorphp/rector-src/pull/5415)) - Decouple LongAndDependentComplexRectorRule to cognitive-complexity package ([#​5427](https://togithub.com/rectorphp/rector-src/pull/5427)) - \[TypeDeclaration] Skip with empty() check on StrictArrayParamDimFetchRector ([#​5432](https://togithub.com/rectorphp/rector-src/pull/5432)) - \[TypeDeclaration] Allow both integer and string index array on StrictArrayParamDimFetchRector ([#​5433](https://togithub.com/rectorphp/rector-src/pull/5433)) - \[TypeDeclaration] Skip re-assign with call and use as arg on StrictArrayParamDimFetchRector ([#​5434](https://togithub.com/rectorphp/rector-src/pull/5434)) - \[CodeQuality] Handle crash with call inside loop on SimplifyForeachToCoalescingRector ([#​5436](https://togithub.com/rectorphp/rector-src/pull/5436)) - \[TypeDeclaration] Handle with default null on ParamTypeByMethodCallTypeRector ([#​5437](https://togithub.com/rectorphp/rector-src/pull/5437)) - \[NodeTypeResolver] Handle crash PHPStan\File\CouldNotReadFileException: Could not read file on IntermediateSourceLocator ([#​5438](https://togithub.com/rectorphp/rector-src/pull/5438)) - Allows to convert Spatie enum names to snake upper case ([#​5435](https://togithub.com/rectorphp/rector-src/pull/5435)), Thanks [@​JoolsMcFly](https://togithub.com/JoolsMcFly)! - fix: RenameMethodRector should handle NullsafeMethodCall ([#​5444](https://togithub.com/rectorphp/rector-src/pull/5444)), Thanks [@​nikophil](https://togithub.com/nikophil)! - \[Php80]\[CodeQuality] Handle crash on ChangeSwitchToMatchRector + TernaryFalseExpressionToIfRector on under if else ([#​5446](https://togithub.com/rectorphp/rector-src/pull/5446)) - Skip cond with side effect in RemoveDeadConditionAboveReturnRector ([#​5424](https://togithub.com/rectorphp/rector-src/pull/5424)) - \[DeadCode] Skip nullable array on RemoveUnusedNonEmptyArrayBeforeForeachRector ([#​5375](https://togithub.com/rectorphp/rector-src/pull/5375)) - Keep called method in RemoveEmptyClassMethodRector ([#​5425](https://togithub.com/rectorphp/rector-src/pull/5425)) <br> #### Removed 💀 - \[DeadCode] Remove RemoveJustPropertyFetchForAssignRector as tailored for single case of private project, not practical for generic use ([#​5418](https://togithub.com/rectorphp/rector-src/pull/5418)) - remove array spread from coding style, as often part of personal preference (rectorphp/rector-src@a326b85) ### [`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 🥳 - \[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 🐛 - \[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)) </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/json-serializer). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMDMuMSIsInVwZGF0ZWRJblZlciI6IjM3LjEyNy4wIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIn0=--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Ben Challis <ben@lendable.co.uk>
This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs. |
I wonder, sometimes I need more context while determining if a node in a scope is deprecated. Mostly to 'undeprecate' sometime. Would you mind if node was added as context/information to
DeprecatedScopeResolver::isScopeDeprecated
?I'm trying to target the
deprecated_function()
in the following code:I also tried other avenues, like, trying to pragmaticly add lines to ignore through a visitor. I could also use
NodeVisitor
and thenNodeTraverser::DONT_TRAVERSE_CURRENT_AND_CHILDREN
, but that means no code checks in all of the children.I'm kinda stumped right now, but would love to be able to only exclude deprecations from those node (be it anonimous functions, or whatever).
The text was updated successfully, but these errors were encountered: