-
Notifications
You must be signed in to change notification settings - Fork 664
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
Fix misc callable bugs #10370
Fix misc callable bugs #10370
Conversation
9212472
to
3a78144
Compare
…arams callable incorrect required params depending on the 3rd argument value (at this commit psalm doesn't report an error, due to vimeo#8438, which gets fixed by this PR later on though) Fix vimeo#3047 and further improve types for array_multisort and add errors for invalid params Fix SimpleTypeInferer failing on bitwise operations with constants
… an error for this if the parent class was user defined (= not in stubs), which is wrong, since this will cause a fatal error when running the code
…ly a limited, random selection of errors instead of all - treat all files passed as CLI args as if they were in projectFiles
…idn't report for other reasons, which were solved since then)
… functions of vimeo#8438) Fix array callables not treated as callable https://psalm.dev/r/23f3787207 (this is needed to fix the optional args enforcement for array callables too)
…ase file paths and add missing docs
…s this didn't work correctly and lead to errors not being reported at all in many cases (since the error was reported for the stubs file and therefore suppressed) With the previous commit "Fix for classes what vimeo#8503 fixed for functions", the stubs of classes where the actual file is in the analyzed files are ignored completely.
3a78144
to
00bed51
Compare
@orklah finally ready to review and merge (after learning about some quirks about the CI/tests...) Just as an fyi: |
Thanks for the massive work! |
[![Mend Renovate logo banner](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [vimeo/psalm](https://togithub.com/vimeo/psalm) | `~5.15.0` -> `~5.16.0` | [![age](https://developer.mend.io/api/mc/badges/age/packagist/vimeo%2fpsalm/5.16.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/packagist/vimeo%2fpsalm/5.16.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/packagist/vimeo%2fpsalm/5.15.0/5.16.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/packagist/vimeo%2fpsalm/5.15.0/5.16.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>vimeo/psalm (vimeo/psalm)</summary> ### [`v5.16.0`](https://togithub.com/vimeo/psalm/releases/tag/5.16.0) [Compare Source](https://togithub.com/vimeo/psalm/compare/5.15.0...5.16.0) <!-- Release notes generated using configuration in .github/release.yml at 5.x --> #### What's Changed ##### Features - Show success message and type stats with GHA formatter by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/10145](https://togithub.com/vimeo/psalm/pull/10145) - New sinks for TaintedCallable [#​10117](https://togithub.com/vimeo/psalm/issues/10117) by [@​cgocast](https://togithub.com/cgocast) in [https://github.com/vimeo/psalm/pull/10154](https://togithub.com/vimeo/psalm/pull/10154) - Properly inherit assertions from parents or implemented faces by [@​boesing](https://togithub.com/boesing) in [https://github.com/vimeo/psalm/pull/10157](https://togithub.com/vimeo/psalm/pull/10157) - Flag invalid declares by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/10176](https://togithub.com/vimeo/psalm/pull/10176) - Narrow `ArrayObject` `TKey` template by [@​boesing](https://togithub.com/boesing) in [https://github.com/vimeo/psalm/pull/10190](https://togithub.com/vimeo/psalm/pull/10190) - Allow object assertions for `mixed` values by [@​boesing](https://togithub.com/boesing) in [https://github.com/vimeo/psalm/pull/10207](https://togithub.com/vimeo/psalm/pull/10207) - Issue handlers priority by [@​gmessier](https://togithub.com/gmessier) in [https://github.com/vimeo/psalm/pull/10202](https://togithub.com/vimeo/psalm/pull/10202) - Check for declare strict_types in block mode by [@​tuqqu](https://togithub.com/tuqqu) in [https://github.com/vimeo/psalm/pull/10234](https://togithub.com/vimeo/psalm/pull/10234) - feat(LSP): Improve the autocomplete for nested array shape by [@​ging-dev](https://togithub.com/ging-dev) in [https://github.com/vimeo/psalm/pull/10230](https://togithub.com/vimeo/psalm/pull/10230) - Add alias support to psalm-check-type by [@​robchett](https://togithub.com/robchett) in [https://github.com/vimeo/psalm/pull/10264](https://togithub.com/vimeo/psalm/pull/10264) - Allow parameter names in callable docblocks with templates by [@​robchett](https://togithub.com/robchett) in [https://github.com/vimeo/psalm/pull/10261](https://togithub.com/vimeo/psalm/pull/10261) - Disallow `never` type for parameters by [@​tuqqu](https://togithub.com/tuqqu) in [https://github.com/vimeo/psalm/pull/10266](https://togithub.com/vimeo/psalm/pull/10266) - Fix auto completion by partial property or method by [@​issidorov](https://togithub.com/issidorov) in [https://github.com/vimeo/psalm/pull/10320](https://togithub.com/vimeo/psalm/pull/10320) - Add stubs for rdKafka by [@​robchett](https://togithub.com/robchett) in [https://github.com/vimeo/psalm/pull/10351](https://togithub.com/vimeo/psalm/pull/10351) - Suppressing NoValue should not treat subsequent code as unevaluated by [@​kkmuffme](https://togithub.com/kkmuffme) in [https://github.com/vimeo/psalm/pull/10303](https://togithub.com/vimeo/psalm/pull/10303) - Fix misc callable bugs by [@​kkmuffme](https://togithub.com/kkmuffme) in [https://github.com/vimeo/psalm/pull/10370](https://togithub.com/vimeo/psalm/pull/10370) ##### Fixes - Added more gc_status return fields by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/10138](https://togithub.com/vimeo/psalm/pull/10138) - Filter baseline when checking individual files by [@​edsrzf](https://togithub.com/edsrzf) in [https://github.com/vimeo/psalm/pull/10115](https://togithub.com/vimeo/psalm/pull/10115) - Assertion enhancements regarding `value-of` in combination with backed enums by [@​boesing](https://togithub.com/boesing) in [https://github.com/vimeo/psalm/pull/10150](https://togithub.com/vimeo/psalm/pull/10150) - `strrchr()`: `$before_needle` parameter by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/10151](https://togithub.com/vimeo/psalm/pull/10151) - Update `mysqli` stub by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/10155](https://togithub.com/vimeo/psalm/pull/10155) - Fix crash on property access to undefined property on a class with a missing dependncy by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/10159](https://togithub.com/vimeo/psalm/pull/10159) - Prevent infinite-loop when resolving type-aliases by [@​boesing](https://togithub.com/boesing) in [https://github.com/vimeo/psalm/pull/10156](https://togithub.com/vimeo/psalm/pull/10156) - InheritorViolation was only being triggered on grand-childen classes by [@​robchett](https://togithub.com/robchett) in [https://github.com/vimeo/psalm/pull/10169](https://togithub.com/vimeo/psalm/pull/10169) - Restore support for namespaced functions in referencedFunction config by [@​tscni](https://togithub.com/tscni) in [https://github.com/vimeo/psalm/pull/10186](https://togithub.com/vimeo/psalm/pull/10186) - `DateTimeZone::getName()` always returns `non-empty-string` by [@​gsteel](https://togithub.com/gsteel) in [https://github.com/vimeo/psalm/pull/10187](https://togithub.com/vimeo/psalm/pull/10187) - Only the binary op 'plus' works with two arrays by [@​robchett](https://togithub.com/robchett) in [https://github.com/vimeo/psalm/pull/10209](https://togithub.com/vimeo/psalm/pull/10209) - Add openssl_\*\_export_to_file to impure functions by [@​robchett](https://togithub.com/robchett) in [https://github.com/vimeo/psalm/pull/10210](https://togithub.com/vimeo/psalm/pull/10210) - add FILTER_SANITIZE_URL filter to filter_var by [@​kkmuffme](https://togithub.com/kkmuffme) in [https://github.com/vimeo/psalm/pull/10214](https://togithub.com/vimeo/psalm/pull/10214) - Allow class-string<T> where T is a union by [@​MidnightDesign](https://togithub.com/MidnightDesign) in [https://github.com/vimeo/psalm/pull/10194](https://togithub.com/vimeo/psalm/pull/10194) - Loop over PDOStatement::fetch() arguments by [@​cgocast](https://togithub.com/cgocast) in [https://github.com/vimeo/psalm/pull/10237](https://togithub.com/vimeo/psalm/pull/10237) - Inherited assertions v2 by [@​boesing](https://togithub.com/boesing) in [https://github.com/vimeo/psalm/pull/10189](https://togithub.com/vimeo/psalm/pull/10189) - Resolve inherited conditional return types by [@​boesing](https://togithub.com/boesing) in [https://github.com/vimeo/psalm/pull/10191](https://togithub.com/vimeo/psalm/pull/10191) - Allow stringable objects in `sprintf()` values by [@​MidnightDesign](https://togithub.com/MidnightDesign) in [https://github.com/vimeo/psalm/pull/10231](https://togithub.com/vimeo/psalm/pull/10231) - fix: [#​10239](https://togithub.com/vimeo/psalm/issues/10239) by [@​ging-dev](https://togithub.com/ging-dev) in [https://github.com/vimeo/psalm/pull/10240](https://togithub.com/vimeo/psalm/pull/10240) - Remove duplicate namespace in InternalMethod error message by [@​kkmuffme](https://togithub.com/kkmuffme) in [https://github.com/vimeo/psalm/pull/10241](https://togithub.com/vimeo/psalm/pull/10241) - Add stream_socket_shutdown socket_shutdown to impure function list by [@​tuqqu](https://togithub.com/tuqqu) in [https://github.com/vimeo/psalm/pull/10244](https://togithub.com/vimeo/psalm/pull/10244) - Emit `MethodSignatureMismatch` when descendant does not return by reference by [@​tuqqu](https://togithub.com/tuqqu) in [https://github.com/vimeo/psalm/pull/10248](https://togithub.com/vimeo/psalm/pull/10248) - Negated class_exist check on class-string converts to string instead of mixed by [@​robchett](https://togithub.com/robchett) in [https://github.com/vimeo/psalm/pull/10262](https://togithub.com/vimeo/psalm/pull/10262) - Fix error message for implicitly returning functions with `never` return type by [@​tuqqu](https://togithub.com/tuqqu) in [https://github.com/vimeo/psalm/pull/10254](https://togithub.com/vimeo/psalm/pull/10254) - Type check nested templates by [@​klimick](https://togithub.com/klimick) in [https://github.com/vimeo/psalm/pull/10271](https://togithub.com/vimeo/psalm/pull/10271) - Fix return of BadSqlTainter::afterExpressionAnalysis() by [@​cgocast](https://togithub.com/cgocast) in [https://github.com/vimeo/psalm/pull/10270](https://togithub.com/vimeo/psalm/pull/10270) - Allow tainted numerics except for 'html' and 'has_quotes' by [@​cgocast](https://togithub.com/cgocast) in [https://github.com/vimeo/psalm/pull/10242](https://togithub.com/vimeo/psalm/pull/10242) - fix final class constant type by [@​kk-daniel](https://togithub.com/kk-daniel) in [https://github.com/vimeo/psalm/pull/10279](https://togithub.com/vimeo/psalm/pull/10279) - Fix inferring enum case value from a class constant by [@​tuqqu](https://togithub.com/tuqqu) in [https://github.com/vimeo/psalm/pull/10274](https://togithub.com/vimeo/psalm/pull/10274) - fix: [#​10080](https://togithub.com/vimeo/psalm/issues/10080) by [@​ging-dev](https://togithub.com/ging-dev) in [https://github.com/vimeo/psalm/pull/10228](https://togithub.com/vimeo/psalm/pull/10228) - Fix memory explosion with calls to method_exists by [@​robchett](https://togithub.com/robchett) in [https://github.com/vimeo/psalm/pull/10290](https://togithub.com/vimeo/psalm/pull/10290) - Additional caching fixes by [@​ging-dev](https://togithub.com/ging-dev) in [https://github.com/vimeo/psalm/pull/10289](https://togithub.com/vimeo/psalm/pull/10289) - str_replace / substr_replace signature improvements by [@​mathroc](https://togithub.com/mathroc) in [https://github.com/vimeo/psalm/pull/10277](https://togithub.com/vimeo/psalm/pull/10277) - Fix method calls and property accesses after extension_loaded by [@​danog](https://togithub.com/danog) in [https://github.com/vimeo/psalm/pull/10295](https://togithub.com/vimeo/psalm/pull/10295) - fix [@​param-out](https://togithub.com/param-out) with named arguments by [@​kk-daniel](https://togithub.com/kk-daniel) in [https://github.com/vimeo/psalm/pull/10312](https://togithub.com/vimeo/psalm/pull/10312) - Narrow down `get_browser` returning array or object by [@​simonberger](https://togithub.com/simonberger) in [https://github.com/vimeo/psalm/pull/10314](https://togithub.com/vimeo/psalm/pull/10314) - Allow int keys when calling Redis methods by [@​greg0ire](https://togithub.com/greg0ire) in [https://github.com/vimeo/psalm/pull/10355](https://togithub.com/vimeo/psalm/pull/10355) - Finding methods and properties for auto completion feature by [@​issidorov](https://togithub.com/issidorov) in [https://github.com/vimeo/psalm/pull/10385](https://togithub.com/vimeo/psalm/pull/10385) - update decimal stubs from documented URL by [@​kkmuffme](https://togithub.com/kkmuffme) in [https://github.com/vimeo/psalm/pull/10379](https://togithub.com/vimeo/psalm/pull/10379) - Fix Phar build failure by [@​tscni](https://togithub.com/tscni) in [https://github.com/vimeo/psalm/pull/10391](https://togithub.com/vimeo/psalm/pull/10391) - Fix redundant condition mixed type escape hatch & loose comparison int type shouldnt be mixed by [@​kkmuffme](https://togithub.com/kkmuffme) in [https://github.com/vimeo/psalm/pull/10388](https://togithub.com/vimeo/psalm/pull/10388) - Fix [#​10398](https://togithub.com/vimeo/psalm/issues/10398): add missing methods of ReflectionProperty class in CallMap and CallMap deltas. by [@​niconoe-](https://togithub.com/niconoe-) in [https://github.com/vimeo/psalm/pull/10399](https://togithub.com/vimeo/psalm/pull/10399) ##### Docs - docs: A semicolon expected by [@​lens0021](https://togithub.com/lens0021) in [https://github.com/vimeo/psalm/pull/10149](https://togithub.com/vimeo/psalm/pull/10149) - Add documentation for [@​psalm-flow](https://togithub.com/psalm-flow) by [@​ohader](https://togithub.com/ohader) in [https://github.com/vimeo/psalm/pull/10349](https://togithub.com/vimeo/psalm/pull/10349) ##### Internal changes - Extract the list of impure functions into its own dictionary by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/10136](https://togithub.com/vimeo/psalm/pull/10136) - `composer.json` tweaks by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/10161](https://togithub.com/vimeo/psalm/pull/10161) - Bump actions/checkout from 3 to 4 by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/vimeo/psalm/pull/10192](https://togithub.com/vimeo/psalm/pull/10192) - Update IssueBuffer.php by [@​aleksandr-shevchenko](https://togithub.com/aleksandr-shevchenko) in [https://github.com/vimeo/psalm/pull/10294](https://togithub.com/vimeo/psalm/pull/10294) - Backport rector fixes to 5.x by [@​danog](https://togithub.com/danog) in [https://github.com/vimeo/psalm/pull/10306](https://togithub.com/vimeo/psalm/pull/10306) - Bump fkirc/skip-duplicate-actions from 5.3.0 to 5.3.1 by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/vimeo/psalm/pull/10313](https://togithub.com/vimeo/psalm/pull/10313) - Allow Symfony 7 by [@​kbond](https://togithub.com/kbond) in [https://github.com/vimeo/psalm/pull/10335](https://togithub.com/vimeo/psalm/pull/10335) - Get rid of legacy 7.3 logic by [@​danog](https://togithub.com/danog) in [https://github.com/vimeo/psalm/pull/10319](https://togithub.com/vimeo/psalm/pull/10319) - Finalize all internal classes by [@​danog](https://togithub.com/danog) in [https://github.com/vimeo/psalm/pull/10318](https://togithub.com/vimeo/psalm/pull/10318) - fix CI "split" unevenly splits the number of tests by [@​kkmuffme](https://togithub.com/kkmuffme) in [https://github.com/vimeo/psalm/pull/10389](https://togithub.com/vimeo/psalm/pull/10389) - Fix circleci builds by [@​danog](https://togithub.com/danog) in [https://github.com/vimeo/psalm/pull/10396](https://togithub.com/vimeo/psalm/pull/10396) ##### Other changes - Add exec output param out by [@​kkmuffme](https://togithub.com/kkmuffme) in [https://github.com/vimeo/psalm/pull/10128](https://togithub.com/vimeo/psalm/pull/10128) #### New Contributors - [@​lens0021](https://togithub.com/lens0021) made their first contribution in [https://github.com/vimeo/psalm/pull/10149](https://togithub.com/vimeo/psalm/pull/10149) - [@​kk-daniel](https://togithub.com/kk-daniel) made their first contribution in [https://github.com/vimeo/psalm/pull/10279](https://togithub.com/vimeo/psalm/pull/10279) - [@​aleksandr-shevchenko](https://togithub.com/aleksandr-shevchenko) made their first contribution in [https://github.com/vimeo/psalm/pull/10294](https://togithub.com/vimeo/psalm/pull/10294) - [@​simonberger](https://togithub.com/simonberger) made their first contribution in [https://github.com/vimeo/psalm/pull/10314](https://togithub.com/vimeo/psalm/pull/10314) - [@​kbond](https://togithub.com/kbond) made their first contribution in [https://github.com/vimeo/psalm/pull/10335](https://togithub.com/vimeo/psalm/pull/10335) - [@​issidorov](https://togithub.com/issidorov) made their first contribution in [https://github.com/vimeo/psalm/pull/10320](https://togithub.com/vimeo/psalm/pull/10320) **Full Changelog**: vimeo/psalm@5.15.0...5.16.0 </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), 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. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- 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/open-feature/php-sdk). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy41OS44IiwidXBkYXRlZEluVmVyIjoiMzcuNTkuOCIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
[![Mend Renovate logo banner](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.0` -> `3.25.1` | [![age](https://developer.mend.io/api/mc/badges/age/packagist/google%2fprotobuf/3.25.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/packagist/google%2fprotobuf/3.25.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/packagist/google%2fprotobuf/3.25.0/3.25.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/packagist/google%2fprotobuf/3.25.0/3.25.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [phpstan/phpstan](https://togithub.com/phpstan/phpstan) | `1.10.41` -> `1.10.44` | [![age](https://developer.mend.io/api/mc/badges/age/packagist/phpstan%2fphpstan/1.10.44?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/packagist/phpstan%2fphpstan/1.10.44?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/packagist/phpstan%2fphpstan/1.10.41/1.10.44?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/packagist/phpstan%2fphpstan/1.10.41/1.10.44?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [ramsey/uuid](https://togithub.com/ramsey/uuid) | `4.7.4` -> `4.7.5` | [![age](https://developer.mend.io/api/mc/badges/age/packagist/ramsey%2fuuid/4.7.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/packagist/ramsey%2fuuid/4.7.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/packagist/ramsey%2fuuid/4.7.4/4.7.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/packagist/ramsey%2fuuid/4.7.4/4.7.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [vimeo/psalm](https://togithub.com/vimeo/psalm) | `5.15.0` -> `5.16.0` | [![age](https://developer.mend.io/api/mc/badges/age/packagist/vimeo%2fpsalm/5.16.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/packagist/vimeo%2fpsalm/5.16.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/packagist/vimeo%2fpsalm/5.15.0/5.16.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/packagist/vimeo%2fpsalm/5.15.0/5.16.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>protocolbuffers/protobuf-php (google/protobuf)</summary> ### [`v3.25.1`](https://togithub.com/protocolbuffers/protobuf-php/compare/v3.25.0...v3.25.1) [Compare Source](https://togithub.com/protocolbuffers/protobuf-php/compare/v3.25.0...v3.25.1) </details> <details> <summary>phpstan/phpstan (phpstan/phpstan)</summary> ### [`v1.10.44`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.44) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.10.43...1.10.44) # Improvements 🔧 - PHP 8.3: support for dynamic class constant fetches ([RFC](https://wiki.php.net/rfc/dynamic_class_constant_fetch)) - PHP 8.3: support for anonymous readonly class - RedefinedParametersRule ([#​2755](https://togithub.com/phpstan/phpstan-src/pull/2755)), [#​8025](https://togithub.com/phpstan/phpstan/issues/8025), thanks [@​paulbalandan](https://togithub.com/paulbalandan)! - AbstractPrivateMethodRule ([#​2756](https://togithub.com/phpstan/phpstan-src/pull/2756)), thanks [@​staabm](https://togithub.com/staabm)! - ReadOnlyClassRule (phpstan/phpstan-src@02b2e3d) - InvalidLexicalVariablesInClosureUseRule ([#​2757](https://togithub.com/phpstan/phpstan-src/pull/2757)), [#​1855](https://togithub.com/phpstan/phpstan/issues/1855), thanks [@​paulbalandan](https://togithub.com/paulbalandan)! - AbstractProtectedMethodRule ([#​2758](https://togithub.com/phpstan/phpstan-src/pull/2758)), thanks [@​staabm](https://togithub.com/staabm)! - VarTagTypeRuleHelper: do not allow widening `list<array{id: int}>` to `mixed[]` ([#​2760](https://togithub.com/phpstan/phpstan-src/pull/2760)), thanks [@​janedbal](https://togithub.com/janedbal)! # Bugfixes 🐛 - Re-add nullable type to interface to fix `Carbon` PHPStan extension ([#​2762](https://togithub.com/phpstan/phpstan-src/pull/2762)), thanks [@​CalebDW](https://togithub.com/CalebDW)! - Fix named arguments for few multi-variant methods ([#​2748](https://togithub.com/phpstan/phpstan-src/pull/2748)), thanks [@​schlndh](https://togithub.com/schlndh)! - Fix overriding `SoapClient` old-style constructor (phpstan/phpstan-src@7765768), [#​10165](https://togithub.com/phpstan/phpstan/issues/10165) - Apply same fix in MethodSignatureRule from phpstan/phpstan-src@be2b415 (phpstan/phpstan-src@85fcd5f), [#​10166](https://togithub.com/phpstan/phpstan/issues/10166) # Function signature fixes 🤖 - Remove fake params from `setcookie`/`setrawcookie` ([#​2752](https://togithub.com/phpstan/phpstan-src/pull/2752)), [#​10171](https://togithub.com/phpstan/phpstan/issues/10171), thanks [@​schlndh](https://togithub.com/schlndh)! ### [`v1.10.43`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.43) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.10.42...1.10.43) # Improvements 🔧 - Update `phpstan/phpdoc-parser` - Fix HTML description detection for PhpStorm stubs ([https://github.com/phpstan/phpdoc-parser/pull/220](https://togithub.com/phpstan/phpdoc-parser/pull/220)), thanks [@​schlndh](https://togithub.com/schlndh)! - Make `ReflectionEnum` generic (phpstan/phpstan-src@9ce8faf) # Bugfixes 🐛 - Merge right scope of `??=` with scope before the expression (phpstan/phpstan-src@846f44e), [#​10151](https://togithub.com/phpstan/phpstan/issues/10151), [#​10131](https://togithub.com/phpstan/phpstan/issues/10131) - Fix return type of parent calls for SplHeap and other internal methods ([#​2622](https://togithub.com/phpstan/phpstan-src/pull/2622)), [#​7162](https://togithub.com/phpstan/phpstan/issues/7162), [#​9867](https://togithub.com/phpstan/phpstan/issues/9867), thanks [@​schlndh](https://togithub.com/schlndh)! - `stdClass` does not have `__get` method (phpstan/phpstan-src@baf359e), [#​10149](https://togithub.com/phpstan/phpstan/issues/10149) - Fix signature check of method from trait (phpstan/phpstan-src@be2b415), [#​10153](https://togithub.com/phpstan/phpstan/issues/10153) - All `universalObjectCratesClasses` allow dynamic properties (phpstan/phpstan-src@2ec416e) - Fix infinite recursion with self-referencing class constant (phpstan/phpstan-src@93af41b), [#​10147](https://togithub.com/phpstan/phpstan/issues/10147) # Internals 🔍 - Add named arguments variants to reflection golden test ([#​2743](https://togithub.com/phpstan/phpstan-src/pull/2743)), thanks [@​schlndh](https://togithub.com/schlndh)! ### [`v1.10.42`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.42) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.10.41...1.10.42) This release closes **25 issues**! 🎉 # Major new features 🚀 - PHP 8.3 - support for natively typed class constants ([RFC](https://wiki.php.net/rfc/typed_class_constants)) - PHP 8.3 - support for `#[\Override]` attribute (phpstan/phpstan-src@e9a5639) ([RFC](https://wiki.php.net/rfc/marking_overriden_methods)) - New configuration option: `checkMissingOverrideMethodAttribute` (https://phpstan.org/config-reference#checkmissingoverridemethodattribute) (phpstan/phpstan-src@ac4d3de) # Bleeding edge 🔪 - Detect overriding `@final` method in OverridingMethodRule, [#​9135](https://togithub.com/phpstan/phpstan/issues/9135) - MethodSignatureRule - look at abstract trait method (phpstan/phpstan-src@5fd8cee) - MagicConstantContextRule ([#​2741](https://togithub.com/phpstan/phpstan-src/pull/2741)), [#​10099](https://togithub.com/phpstan/phpstan/issues/10099), thanks [@​staabm](https://togithub.com/staabm)! *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 🔧 - Add ConstantsInTraitsRule ([#​2718](https://togithub.com/phpstan/phpstan-src/pull/2718)), thanks [@​paulbalandan](https://togithub.com/paulbalandan)! - Add NoncapturingCatchRule ([#​2721](https://togithub.com/phpstan/phpstan-src/pull/2721)), [#​8663](https://togithub.com/phpstan/phpstan/issues/8663), thanks [@​paulbalandan](https://togithub.com/paulbalandan)! - Detect non-abstract methods with no body ([#​2730](https://togithub.com/phpstan/phpstan-src/pull/2730)), [#​4244](https://togithub.com/phpstan/phpstan/issues/4244), thanks [@​paulbalandan](https://togithub.com/paulbalandan)! - Detect properties declared in interface ([#​2731](https://togithub.com/phpstan/phpstan-src/pull/2731)), [#​8915](https://togithub.com/phpstan/phpstan/issues/8915), thanks [@​paulbalandan](https://togithub.com/paulbalandan)! - Add VariadicParametersDeclarationRule ([#​2733](https://togithub.com/phpstan/phpstan-src/pull/2733)), [#​3802](https://togithub.com/phpstan/phpstan/issues/3802), thanks [@​paulbalandan](https://togithub.com/paulbalandan)! - Add InvalidCallablePropertyTypeRule ([#​2745](https://togithub.com/phpstan/phpstan-src/pull/2745)), [#​4424](https://togithub.com/phpstan/phpstan/issues/4424), thanks [@​paulbalandan](https://togithub.com/paulbalandan)! - ConflictingTraitConstantsRule (phpstan/phpstan-src@f94a3c3) - Read class constant type when generalizing the type for `dynamicConstantNames` (phpstan/phpstan-src@cb9571b) - Rework prototype searching in OverridingMethodRule (phpstan/phpstan-src@4b2ffb8), [#​10101](https://togithub.com/phpstan/phpstan/issues/10101), [#​7541](https://togithub.com/phpstan/phpstan/issues/7541), [#​10043](https://togithub.com/phpstan/phpstan/issues/10043), [#​7859](https://togithub.com/phpstan/phpstan/issues/7859), [#​8081](https://togithub.com/phpstan/phpstan/issues/8081), [#​8500](https://togithub.com/phpstan/phpstan/issues/8500), [#​9014](https://togithub.com/phpstan/phpstan/issues/9014) - OverridingMethodRule - search for method prototype in traits (phpstan/phpstan-src@2df14af) - VarTagTypeRuleHelper: fix widening array shapes ([#​2738](https://togithub.com/phpstan/phpstan-src/pull/2738)), [#​10130](https://togithub.com/phpstan/phpstan/issues/10130), thanks [@​janedbal](https://togithub.com/janedbal)! - Note about Xdebug with `--debug` (phpstan/phpstan-src@c534f8c) - FunctionSignatureMapProvider - cache data statically (phpstan/phpstan-src@394064b), [#​10039](https://togithub.com/phpstan/phpstan/issues/10039) # Bugfixes 🐛 - Star projection is always within template type bounds ([#​2715](https://togithub.com/phpstan/phpstan-src/pull/2715)), [#​10097](https://togithub.com/phpstan/phpstan/issues/10097), thanks [@​jiripudil](https://togithub.com/jiripudil)! - Support `non-empty-string` in `str_shuffle()` ([#​2717](https://togithub.com/phpstan/phpstan-src/pull/2717)), thanks [@​staabm](https://togithub.com/staabm)! - Look if userland prototype has `ReturnTypeWillChange` or not (phpstan/phpstan-src@eb0c7a1), [#​9615](https://togithub.com/phpstan/phpstan/issues/9615) - Fix wrong tip about returning a list (phpstan/phpstan-src@00adfaa, phpstan/phpstan-src@00a9d94) - Fix parameter names for multi-variant functions ([#​2726](https://togithub.com/phpstan/phpstan-src/pull/2726)), [#​9018](https://togithub.com/phpstan/phpstan/issues/9018), [#​9399](https://togithub.com/phpstan/phpstan/issues/9399), [#​9923](https://togithub.com/phpstan/phpstan/issues/9923), [#​9823](https://togithub.com/phpstan/phpstan/issues/9823), thanks [@​schlndh](https://togithub.com/schlndh)! - Fix iterator_to_array, iterator_count for PHP 8.2 ([#​2625](https://togithub.com/phpstan/phpstan-src/pull/2625)), [#​9793](https://togithub.com/phpstan/phpstan/issues/9793), [#​7760](https://togithub.com/phpstan/phpstan/issues/7760), thanks [@​schlndh](https://togithub.com/schlndh)! - Update array_filter signature to allow null as callback ([#​2740](https://togithub.com/phpstan/phpstan/issues/2740)) ([#​2740](https://togithub.com/phpstan/phpstan-src/pull/2740)), thanks [@​andyexeter](https://togithub.com/andyexeter)! # Function signature fixes 🤖 - Fix return value of `mailparse_msg_get_part()` ([#​2722](https://togithub.com/phpstan/phpstan-src/pull/2722)), thanks [@​jlherren](https://togithub.com/jlherren)! - Update functionMaps ([#​2699](https://togithub.com/phpstan/phpstan-src/pull/2699)), thanks [@​zonuexe](https://togithub.com/zonuexe)! - Change `iptcparse` return type ([#​2727](https://togithub.com/phpstan/phpstan-src/pull/2727)), thanks [@​ManuelHu](https://togithub.com/ManuelHu)! # Internals 🔍 - Create DirectoryCreator helper class ([#​2697](https://togithub.com/phpstan/phpstan-src/pull/2697)), thanks [@​CalebDW](https://togithub.com/CalebDW)! - Use PHP 8.3 in Name Collision Detector (phpstan/phpstan-src@8cd239e) - Golden test for reflection ([#​2679](https://togithub.com/phpstan/phpstan-src/pull/2679)), thanks [@​schlndh](https://togithub.com/schlndh)! - Fully qualify the name of the `#[\Override]` attribute in error messages ([#​10136](https://togithub.com/phpstan/phpstan-src/pull/10136)), thanks [@​TimWolla](https://togithub.com/TimWolla)! - RuleTestCase - allow null tip (phpstan/phpstan-src@f384b43) </details> <details> <summary>ramsey/uuid (ramsey/uuid)</summary> ### [`v4.7.5`](https://togithub.com/ramsey/uuid/blob/HEAD/CHANGELOG.md#475---2023-11-08) [Compare Source](https://togithub.com/ramsey/uuid/compare/4.7.4...4.7.5) ##### Fixed - Protect against UUIDv7 collisions within the same millisecond, as reported in [#​518](https://togithub.com/ramsey/uuid/issues/518) and fixed in [#​522](https://togithub.com/ramsey/uuid/pull/522). - Improve the return type hint for `UuidInterface::compareTo()`. </details> <details> <summary>vimeo/psalm (vimeo/psalm)</summary> ### [`v5.16.0`](https://togithub.com/vimeo/psalm/releases/tag/5.16.0) [Compare Source](https://togithub.com/vimeo/psalm/compare/5.15.0...5.16.0) <!-- Release notes generated using configuration in .github/release.yml at 5.x --> #### What's Changed ##### Features - Show success message and type stats with GHA formatter by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/10145](https://togithub.com/vimeo/psalm/pull/10145) - New sinks for TaintedCallable [#​10117](https://togithub.com/vimeo/psalm/issues/10117) by [@​cgocast](https://togithub.com/cgocast) in [https://github.com/vimeo/psalm/pull/10154](https://togithub.com/vimeo/psalm/pull/10154) - Properly inherit assertions from parents or implemented faces by [@​boesing](https://togithub.com/boesing) in [https://github.com/vimeo/psalm/pull/10157](https://togithub.com/vimeo/psalm/pull/10157) - Flag invalid declares by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/10176](https://togithub.com/vimeo/psalm/pull/10176) - Narrow `ArrayObject` `TKey` template by [@​boesing](https://togithub.com/boesing) in [https://github.com/vimeo/psalm/pull/10190](https://togithub.com/vimeo/psalm/pull/10190) - Allow object assertions for `mixed` values by [@​boesing](https://togithub.com/boesing) in [https://github.com/vimeo/psalm/pull/10207](https://togithub.com/vimeo/psalm/pull/10207) - Issue handlers priority by [@​gmessier](https://togithub.com/gmessier) in [https://github.com/vimeo/psalm/pull/10202](https://togithub.com/vimeo/psalm/pull/10202) - Check for declare strict_types in block mode by [@​tuqqu](https://togithub.com/tuqqu) in [https://github.com/vimeo/psalm/pull/10234](https://togithub.com/vimeo/psalm/pull/10234) - feat(LSP): Improve the autocomplete for nested array shape by [@​ging-dev](https://togithub.com/ging-dev) in [https://github.com/vimeo/psalm/pull/10230](https://togithub.com/vimeo/psalm/pull/10230) - Add alias support to psalm-check-type by [@​robchett](https://togithub.com/robchett) in [https://github.com/vimeo/psalm/pull/10264](https://togithub.com/vimeo/psalm/pull/10264) - Allow parameter names in callable docblocks with templates by [@​robchett](https://togithub.com/robchett) in [https://github.com/vimeo/psalm/pull/10261](https://togithub.com/vimeo/psalm/pull/10261) - Disallow `never` type for parameters by [@​tuqqu](https://togithub.com/tuqqu) in [https://github.com/vimeo/psalm/pull/10266](https://togithub.com/vimeo/psalm/pull/10266) - Fix auto completion by partial property or method by [@​issidorov](https://togithub.com/issidorov) in [https://github.com/vimeo/psalm/pull/10320](https://togithub.com/vimeo/psalm/pull/10320) - Add stubs for rdKafka by [@​robchett](https://togithub.com/robchett) in [https://github.com/vimeo/psalm/pull/10351](https://togithub.com/vimeo/psalm/pull/10351) - Suppressing NoValue should not treat subsequent code as unevaluated by [@​kkmuffme](https://togithub.com/kkmuffme) in [https://github.com/vimeo/psalm/pull/10303](https://togithub.com/vimeo/psalm/pull/10303) - Fix misc callable bugs by [@​kkmuffme](https://togithub.com/kkmuffme) in [https://github.com/vimeo/psalm/pull/10370](https://togithub.com/vimeo/psalm/pull/10370) ##### Fixes - Added more gc_status return fields by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/10138](https://togithub.com/vimeo/psalm/pull/10138) - Filter baseline when checking individual files by [@​edsrzf](https://togithub.com/edsrzf) in [https://github.com/vimeo/psalm/pull/10115](https://togithub.com/vimeo/psalm/pull/10115) - Assertion enhancements regarding `value-of` in combination with backed enums by [@​boesing](https://togithub.com/boesing) in [https://github.com/vimeo/psalm/pull/10150](https://togithub.com/vimeo/psalm/pull/10150) - `strrchr()`: `$before_needle` parameter by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/10151](https://togithub.com/vimeo/psalm/pull/10151) - Update `mysqli` stub by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/10155](https://togithub.com/vimeo/psalm/pull/10155) - Fix crash on property access to undefined property on a class with a missing dependncy by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/10159](https://togithub.com/vimeo/psalm/pull/10159) - Prevent infinite-loop when resolving type-aliases by [@​boesing](https://togithub.com/boesing) in [https://github.com/vimeo/psalm/pull/10156](https://togithub.com/vimeo/psalm/pull/10156) - InheritorViolation was only being triggered on grand-childen classes by [@​robchett](https://togithub.com/robchett) in [https://github.com/vimeo/psalm/pull/10169](https://togithub.com/vimeo/psalm/pull/10169) - Restore support for namespaced functions in referencedFunction config by [@​tscni](https://togithub.com/tscni) in [https://github.com/vimeo/psalm/pull/10186](https://togithub.com/vimeo/psalm/pull/10186) - `DateTimeZone::getName()` always returns `non-empty-string` by [@​gsteel](https://togithub.com/gsteel) in [https://github.com/vimeo/psalm/pull/10187](https://togithub.com/vimeo/psalm/pull/10187) - Only the binary op 'plus' works with two arrays by [@​robchett](https://togithub.com/robchett) in [https://github.com/vimeo/psalm/pull/10209](https://togithub.com/vimeo/psalm/pull/10209) - Add openssl_\*\_export_to_file to impure functions by [@​robchett](https://togithub.com/robchett) in [https://github.com/vimeo/psalm/pull/10210](https://togithub.com/vimeo/psalm/pull/10210) - add FILTER_SANITIZE_URL filter to filter_var by [@​kkmuffme](https://togithub.com/kkmuffme) in [https://github.com/vimeo/psalm/pull/10214](https://togithub.com/vimeo/psalm/pull/10214) - Allow class-string<T> where T is a union by [@​MidnightDesign](https://togithub.com/MidnightDesign) in [https://github.com/vimeo/psalm/pull/10194](https://togithub.com/vimeo/psalm/pull/10194) - Loop over PDOStatement::fetch() arguments by [@​cgocast](https://togithub.com/cgocast) in [https://github.com/vimeo/psalm/pull/10237](https://togithub.com/vimeo/psalm/pull/10237) - Inherited assertions v2 by [@​boesing](https://togithub.com/boesing) in [https://github.com/vimeo/psalm/pull/10189](https://togithub.com/vimeo/psalm/pull/10189) - Resolve inherited conditional return types by [@​boesing](https://togithub.com/boesing) in [https://github.com/vimeo/psalm/pull/10191](https://togithub.com/vimeo/psalm/pull/10191) - Allow stringable objects in `sprintf()` values by [@​MidnightDesign](https://togithub.com/MidnightDesign) in [https://github.com/vimeo/psalm/pull/10231](https://togithub.com/vimeo/psalm/pull/10231) - fix: [#​10239](https://togithub.com/vimeo/psalm/issues/10239) by [@​ging-dev](https://togithub.com/ging-dev) in [https://github.com/vimeo/psalm/pull/10240](https://togithub.com/vimeo/psalm/pull/10240) - Remove duplicate namespace in InternalMethod error message by [@​kkmuffme](https://togithub.com/kkmuffme) in [https://github.com/vimeo/psalm/pull/10241](https://togithub.com/vimeo/psalm/pull/10241) - Add stream_socket_shutdown socket_shutdown to impure function list by [@​tuqqu](https://togithub.com/tuqqu) in [https://github.com/vimeo/psalm/pull/10244](https://togithub.com/vimeo/psalm/pull/10244) - Emit `MethodSignatureMismatch` when descendant does not return by reference by [@​tuqqu](https://togithub.com/tuqqu) in [https://github.com/vimeo/psalm/pull/10248](https://togithub.com/vimeo/psalm/pull/10248) - Negated class_exist check on class-string converts to string instead of mixed by [@​robchett](https://togithub.com/robchett) in [https://github.com/vimeo/psalm/pull/10262](https://togithub.com/vimeo/psalm/pull/10262) - Fix error message for implicitly returning functions with `never` return type by [@​tuqqu](https://togithub.com/tuqqu) in [https://github.com/vimeo/psalm/pull/10254](https://togithub.com/vimeo/psalm/pull/10254) - Type check nested templates by [@​klimick](https://togithub.com/klimick) in [https://github.com/vimeo/psalm/pull/10271](https://togithub.com/vimeo/psalm/pull/10271) - Fix return of BadSqlTainter::afterExpressionAnalysis() by [@​cgocast](https://togithub.com/cgocast) in [https://github.com/vimeo/psalm/pull/10270](https://togithub.com/vimeo/psalm/pull/10270) - Allow tainted numerics except for 'html' and 'has_quotes' by [@​cgocast](https://togithub.com/cgocast) in [https://github.com/vimeo/psalm/pull/10242](https://togithub.com/vimeo/psalm/pull/10242) - fix final class constant type by [@​kk-daniel](https://togithub.com/kk-daniel) in [https://github.com/vimeo/psalm/pull/10279](https://togithub.com/vimeo/psalm/pull/10279) - Fix inferring enum case value from a class constant by [@​tuqqu](https://togithub.com/tuqqu) in [https://github.com/vimeo/psalm/pull/10274](https://togithub.com/vimeo/psalm/pull/10274) - fix: [#​10080](https://togithub.com/vimeo/psalm/issues/10080) by [@​ging-dev](https://togithub.com/ging-dev) in [https://github.com/vimeo/psalm/pull/10228](https://togithub.com/vimeo/psalm/pull/10228) - Fix memory explosion with calls to method_exists by [@​robchett](https://togithub.com/robchett) in [https://github.com/vimeo/psalm/pull/10290](https://togithub.com/vimeo/psalm/pull/10290) - Additional caching fixes by [@​ging-dev](https://togithub.com/ging-dev) in [https://github.com/vimeo/psalm/pull/10289](https://togithub.com/vimeo/psalm/pull/10289) - str_replace / substr_replace signature improvements by [@​mathroc](https://togithub.com/mathroc) in [https://github.com/vimeo/psalm/pull/10277](https://togithub.com/vimeo/psalm/pull/10277) - Fix method calls and property accesses after extension_loaded by [@​danog](https://togithub.com/danog) in [https://github.com/vimeo/psalm/pull/10295](https://togithub.com/vimeo/psalm/pull/10295) - fix [@​param-out](https://togithub.com/param-out) with named arguments by [@​kk-daniel](https://togithub.com/kk-daniel) in [https://github.com/vimeo/psalm/pull/10312](https://togithub.com/vimeo/psalm/pull/10312) - Narrow down `get_browser` returning array or object by [@​simonberger](https://togithub.com/simonberger) in [https://github.com/vimeo/psalm/pull/10314](https://togithub.com/vimeo/psalm/pull/10314) - Allow int keys when calling Redis methods by [@​greg0ire](https://togithub.com/greg0ire) in [https://github.com/vimeo/psalm/pull/10355](https://togithub.com/vimeo/psalm/pull/10355) - Finding methods and properties for auto completion feature by [@​issidorov](https://togithub.com/issidorov) in [https://github.com/vimeo/psalm/pull/10385](https://togithub.com/vimeo/psalm/pull/10385) - update decimal stubs from documented URL by [@​kkmuffme](https://togithub.com/kkmuffme) in [https://github.com/vimeo/psalm/pull/10379](https://togithub.com/vimeo/psalm/pull/10379) - Fix Phar build failure by [@​tscni](https://togithub.com/tscni) in [https://github.com/vimeo/psalm/pull/10391](https://togithub.com/vimeo/psalm/pull/10391) - Fix redundant condition mixed type escape hatch & loose comparison int type shouldnt be mixed by [@​kkmuffme](https://togithub.com/kkmuffme) in [https://github.com/vimeo/psalm/pull/10388](https://togithub.com/vimeo/psalm/pull/10388) - Fix [#​10398](https://togithub.com/vimeo/psalm/issues/10398): add missing methods of ReflectionProperty class in CallMap and CallMap deltas. by [@​niconoe-](https://togithub.com/niconoe-) in [https://github.com/vimeo/psalm/pull/10399](https://togithub.com/vimeo/psalm/pull/10399) ##### Docs - docs: A semicolon expected by [@​lens0021](https://togithub.com/lens0021) in [https://github.com/vimeo/psalm/pull/10149](https://togithub.com/vimeo/psalm/pull/10149) - Add documentation for [@​psalm-flow](https://togithub.com/psalm-flow) by [@​ohader](https://togithub.com/ohader) in [https://github.com/vimeo/psalm/pull/10349](https://togithub.com/vimeo/psalm/pull/10349) ##### Internal changes - Extract the list of impure functions into its own dictionary by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/10136](https://togithub.com/vimeo/psalm/pull/10136) - `composer.json` tweaks by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/10161](https://togithub.com/vimeo/psalm/pull/10161) - Bump actions/checkout from 3 to 4 by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/vimeo/psalm/pull/10192](https://togithub.com/vimeo/psalm/pull/10192) - Update IssueBuffer.php by [@​aleksandr-shevchenko](https://togithub.com/aleksandr-shevchenko) in [https://github.com/vimeo/psalm/pull/10294](https://togithub.com/vimeo/psalm/pull/10294) - Backport rector fixes to 5.x by [@​danog](https://togithub.com/danog) in [https://github.com/vimeo/psalm/pull/10306](https://togithub.com/vimeo/psalm/pull/10306) - Bump fkirc/skip-duplicate-actions from 5.3.0 to 5.3.1 by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/vimeo/psalm/pull/10313](https://togithub.com/vimeo/psalm/pull/10313) - Allow Symfony 7 by [@​kbond](https://togithub.com/kbond) in [https://github.com/vimeo/psalm/pull/10335](https://togithub.com/vimeo/psalm/pull/10335) - Get rid of legacy 7.3 logic by [@​danog](https://togithub.com/danog) in [https://github.com/vimeo/psalm/pull/10319](https://togithub.com/vimeo/psalm/pull/10319) - Finalize all internal classes by [@​danog](https://togithub.com/danog) in [https://github.com/vimeo/psalm/pull/10318](https://togithub.com/vimeo/psalm/pull/10318) - fix CI "split" unevenly splits the number of tests by [@​kkmuffme](https://togithub.com/kkmuffme) in [https://github.com/vimeo/psalm/pull/10389](https://togithub.com/vimeo/psalm/pull/10389) - Fix circleci builds by [@​danog](https://togithub.com/danog) in [https://github.com/vimeo/psalm/pull/10396](https://togithub.com/vimeo/psalm/pull/10396) ##### Other changes - Add exec output param out by [@​kkmuffme](https://togithub.com/kkmuffme) in [https://github.com/vimeo/psalm/pull/10128](https://togithub.com/vimeo/psalm/pull/10128) #### New Contributors - [@​lens0021](https://togithub.com/lens0021) made their first contribution in [https://github.com/vimeo/psalm/pull/10149](https://togithub.com/vimeo/psalm/pull/10149) - [@​kk-daniel](https://togithub.com/kk-daniel) made their first contribution in [https://github.com/vimeo/psalm/pull/10279](https://togithub.com/vimeo/psalm/pull/10279) - [@​aleksandr-shevchenko](https://togithub.com/aleksandr-shevchenko) made their first contribution in [https://github.com/vimeo/psalm/pull/10294](https://togithub.com/vimeo/psalm/pull/10294) - [@​simonberger](https://togithub.com/simonberger) made their first contribution in [https://github.com/vimeo/psalm/pull/10314](https://togithub.com/vimeo/psalm/pull/10314) - [@​kbond](https://togithub.com/kbond) made their first contribution in [https://github.com/vimeo/psalm/pull/10335](https://togithub.com/vimeo/psalm/pull/10335) - [@​issidorov](https://togithub.com/issidorov) made their first contribution in [https://github.com/vimeo/psalm/pull/10320](https://togithub.com/vimeo/psalm/pull/10320) **Full Changelog**: vimeo/psalm@5.15.0...5.16.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:eyJjcmVhdGVkSW5WZXIiOiIzNy40Ni4wIiwidXBkYXRlZEluVmVyIjoiMzcuNTkuOCIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==--> --------- Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Signed-off-by: Oğuzhan Durgun <[email protected]> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Oğuzhan Durgun <[email protected]>
[![Mend Renovate logo banner](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [vimeo/psalm](https://togithub.com/vimeo/psalm) | `~5.15.0` -> `~5.16.0` | [![age](https://developer.mend.io/api/mc/badges/age/packagist/vimeo%2fpsalm/5.16.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/packagist/vimeo%2fpsalm/5.16.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/packagist/vimeo%2fpsalm/5.15.0/5.16.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/packagist/vimeo%2fpsalm/5.15.0/5.16.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>vimeo/psalm (vimeo/psalm)</summary> ### [`v5.16.0`](https://togithub.com/vimeo/psalm/releases/tag/5.16.0) [Compare Source](https://togithub.com/vimeo/psalm/compare/5.15.0...5.16.0) <!-- Release notes generated using configuration in .github/release.yml at 5.x --> #### What's Changed ##### Features - Show success message and type stats with GHA formatter by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/10145](https://togithub.com/vimeo/psalm/pull/10145) - New sinks for TaintedCallable [#​10117](https://togithub.com/vimeo/psalm/issues/10117) by [@​cgocast](https://togithub.com/cgocast) in [https://github.com/vimeo/psalm/pull/10154](https://togithub.com/vimeo/psalm/pull/10154) - Properly inherit assertions from parents or implemented faces by [@​boesing](https://togithub.com/boesing) in [https://github.com/vimeo/psalm/pull/10157](https://togithub.com/vimeo/psalm/pull/10157) - Flag invalid declares by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/10176](https://togithub.com/vimeo/psalm/pull/10176) - Narrow `ArrayObject` `TKey` template by [@​boesing](https://togithub.com/boesing) in [https://github.com/vimeo/psalm/pull/10190](https://togithub.com/vimeo/psalm/pull/10190) - Allow object assertions for `mixed` values by [@​boesing](https://togithub.com/boesing) in [https://github.com/vimeo/psalm/pull/10207](https://togithub.com/vimeo/psalm/pull/10207) - Issue handlers priority by [@​gmessier](https://togithub.com/gmessier) in [https://github.com/vimeo/psalm/pull/10202](https://togithub.com/vimeo/psalm/pull/10202) - Check for declare strict_types in block mode by [@​tuqqu](https://togithub.com/tuqqu) in [https://github.com/vimeo/psalm/pull/10234](https://togithub.com/vimeo/psalm/pull/10234) - feat(LSP): Improve the autocomplete for nested array shape by [@​ging-dev](https://togithub.com/ging-dev) in [https://github.com/vimeo/psalm/pull/10230](https://togithub.com/vimeo/psalm/pull/10230) - Add alias support to psalm-check-type by [@​robchett](https://togithub.com/robchett) in [https://github.com/vimeo/psalm/pull/10264](https://togithub.com/vimeo/psalm/pull/10264) - Allow parameter names in callable docblocks with templates by [@​robchett](https://togithub.com/robchett) in [https://github.com/vimeo/psalm/pull/10261](https://togithub.com/vimeo/psalm/pull/10261) - Disallow `never` type for parameters by [@​tuqqu](https://togithub.com/tuqqu) in [https://github.com/vimeo/psalm/pull/10266](https://togithub.com/vimeo/psalm/pull/10266) - Fix auto completion by partial property or method by [@​issidorov](https://togithub.com/issidorov) in [https://github.com/vimeo/psalm/pull/10320](https://togithub.com/vimeo/psalm/pull/10320) - Add stubs for rdKafka by [@​robchett](https://togithub.com/robchett) in [https://github.com/vimeo/psalm/pull/10351](https://togithub.com/vimeo/psalm/pull/10351) - Suppressing NoValue should not treat subsequent code as unevaluated by [@​kkmuffme](https://togithub.com/kkmuffme) in [https://github.com/vimeo/psalm/pull/10303](https://togithub.com/vimeo/psalm/pull/10303) - Fix misc callable bugs by [@​kkmuffme](https://togithub.com/kkmuffme) in [https://github.com/vimeo/psalm/pull/10370](https://togithub.com/vimeo/psalm/pull/10370) ##### Fixes - Added more gc_status return fields by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/10138](https://togithub.com/vimeo/psalm/pull/10138) - Filter baseline when checking individual files by [@​edsrzf](https://togithub.com/edsrzf) in [https://github.com/vimeo/psalm/pull/10115](https://togithub.com/vimeo/psalm/pull/10115) - Assertion enhancements regarding `value-of` in combination with backed enums by [@​boesing](https://togithub.com/boesing) in [https://github.com/vimeo/psalm/pull/10150](https://togithub.com/vimeo/psalm/pull/10150) - `strrchr()`: `$before_needle` parameter by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/10151](https://togithub.com/vimeo/psalm/pull/10151) - Update `mysqli` stub by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/10155](https://togithub.com/vimeo/psalm/pull/10155) - Fix crash on property access to undefined property on a class with a missing dependncy by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/10159](https://togithub.com/vimeo/psalm/pull/10159) - Prevent infinite-loop when resolving type-aliases by [@​boesing](https://togithub.com/boesing) in [https://github.com/vimeo/psalm/pull/10156](https://togithub.com/vimeo/psalm/pull/10156) - InheritorViolation was only being triggered on grand-childen classes by [@​robchett](https://togithub.com/robchett) in [https://github.com/vimeo/psalm/pull/10169](https://togithub.com/vimeo/psalm/pull/10169) - Restore support for namespaced functions in referencedFunction config by [@​tscni](https://togithub.com/tscni) in [https://github.com/vimeo/psalm/pull/10186](https://togithub.com/vimeo/psalm/pull/10186) - `DateTimeZone::getName()` always returns `non-empty-string` by [@​gsteel](https://togithub.com/gsteel) in [https://github.com/vimeo/psalm/pull/10187](https://togithub.com/vimeo/psalm/pull/10187) - Only the binary op 'plus' works with two arrays by [@​robchett](https://togithub.com/robchett) in [https://github.com/vimeo/psalm/pull/10209](https://togithub.com/vimeo/psalm/pull/10209) - Add openssl_\*\_export_to_file to impure functions by [@​robchett](https://togithub.com/robchett) in [https://github.com/vimeo/psalm/pull/10210](https://togithub.com/vimeo/psalm/pull/10210) - add FILTER_SANITIZE_URL filter to filter_var by [@​kkmuffme](https://togithub.com/kkmuffme) in [https://github.com/vimeo/psalm/pull/10214](https://togithub.com/vimeo/psalm/pull/10214) - Allow class-string<T> where T is a union by [@​MidnightDesign](https://togithub.com/MidnightDesign) in [https://github.com/vimeo/psalm/pull/10194](https://togithub.com/vimeo/psalm/pull/10194) - Loop over PDOStatement::fetch() arguments by [@​cgocast](https://togithub.com/cgocast) in [https://github.com/vimeo/psalm/pull/10237](https://togithub.com/vimeo/psalm/pull/10237) - Inherited assertions v2 by [@​boesing](https://togithub.com/boesing) in [https://github.com/vimeo/psalm/pull/10189](https://togithub.com/vimeo/psalm/pull/10189) - Resolve inherited conditional return types by [@​boesing](https://togithub.com/boesing) in [https://github.com/vimeo/psalm/pull/10191](https://togithub.com/vimeo/psalm/pull/10191) - Allow stringable objects in `sprintf()` values by [@​MidnightDesign](https://togithub.com/MidnightDesign) in [https://github.com/vimeo/psalm/pull/10231](https://togithub.com/vimeo/psalm/pull/10231) - fix: [#​10239](https://togithub.com/vimeo/psalm/issues/10239) by [@​ging-dev](https://togithub.com/ging-dev) in [https://github.com/vimeo/psalm/pull/10240](https://togithub.com/vimeo/psalm/pull/10240) - Remove duplicate namespace in InternalMethod error message by [@​kkmuffme](https://togithub.com/kkmuffme) in [https://github.com/vimeo/psalm/pull/10241](https://togithub.com/vimeo/psalm/pull/10241) - Add stream_socket_shutdown socket_shutdown to impure function list by [@​tuqqu](https://togithub.com/tuqqu) in [https://github.com/vimeo/psalm/pull/10244](https://togithub.com/vimeo/psalm/pull/10244) - Emit `MethodSignatureMismatch` when descendant does not return by reference by [@​tuqqu](https://togithub.com/tuqqu) in [https://github.com/vimeo/psalm/pull/10248](https://togithub.com/vimeo/psalm/pull/10248) - Negated class_exist check on class-string converts to string instead of mixed by [@​robchett](https://togithub.com/robchett) in [https://github.com/vimeo/psalm/pull/10262](https://togithub.com/vimeo/psalm/pull/10262) - Fix error message for implicitly returning functions with `never` return type by [@​tuqqu](https://togithub.com/tuqqu) in [https://github.com/vimeo/psalm/pull/10254](https://togithub.com/vimeo/psalm/pull/10254) - Type check nested templates by [@​klimick](https://togithub.com/klimick) in [https://github.com/vimeo/psalm/pull/10271](https://togithub.com/vimeo/psalm/pull/10271) - Fix return of BadSqlTainter::afterExpressionAnalysis() by [@​cgocast](https://togithub.com/cgocast) in [https://github.com/vimeo/psalm/pull/10270](https://togithub.com/vimeo/psalm/pull/10270) - Allow tainted numerics except for 'html' and 'has_quotes' by [@​cgocast](https://togithub.com/cgocast) in [https://github.com/vimeo/psalm/pull/10242](https://togithub.com/vimeo/psalm/pull/10242) - fix final class constant type by [@​kk-daniel](https://togithub.com/kk-daniel) in [https://github.com/vimeo/psalm/pull/10279](https://togithub.com/vimeo/psalm/pull/10279) - Fix inferring enum case value from a class constant by [@​tuqqu](https://togithub.com/tuqqu) in [https://github.com/vimeo/psalm/pull/10274](https://togithub.com/vimeo/psalm/pull/10274) - fix: [#​10080](https://togithub.com/vimeo/psalm/issues/10080) by [@​ging-dev](https://togithub.com/ging-dev) in [https://github.com/vimeo/psalm/pull/10228](https://togithub.com/vimeo/psalm/pull/10228) - Fix memory explosion with calls to method_exists by [@​robchett](https://togithub.com/robchett) in [https://github.com/vimeo/psalm/pull/10290](https://togithub.com/vimeo/psalm/pull/10290) - Additional caching fixes by [@​ging-dev](https://togithub.com/ging-dev) in [https://github.com/vimeo/psalm/pull/10289](https://togithub.com/vimeo/psalm/pull/10289) - str_replace / substr_replace signature improvements by [@​mathroc](https://togithub.com/mathroc) in [https://github.com/vimeo/psalm/pull/10277](https://togithub.com/vimeo/psalm/pull/10277) - Fix method calls and property accesses after extension_loaded by [@​danog](https://togithub.com/danog) in [https://github.com/vimeo/psalm/pull/10295](https://togithub.com/vimeo/psalm/pull/10295) - fix [@​param-out](https://togithub.com/param-out) with named arguments by [@​kk-daniel](https://togithub.com/kk-daniel) in [https://github.com/vimeo/psalm/pull/10312](https://togithub.com/vimeo/psalm/pull/10312) - Narrow down `get_browser` returning array or object by [@​simonberger](https://togithub.com/simonberger) in [https://github.com/vimeo/psalm/pull/10314](https://togithub.com/vimeo/psalm/pull/10314) - Allow int keys when calling Redis methods by [@​greg0ire](https://togithub.com/greg0ire) in [https://github.com/vimeo/psalm/pull/10355](https://togithub.com/vimeo/psalm/pull/10355) - Finding methods and properties for auto completion feature by [@​issidorov](https://togithub.com/issidorov) in [https://github.com/vimeo/psalm/pull/10385](https://togithub.com/vimeo/psalm/pull/10385) - update decimal stubs from documented URL by [@​kkmuffme](https://togithub.com/kkmuffme) in [https://github.com/vimeo/psalm/pull/10379](https://togithub.com/vimeo/psalm/pull/10379) - Fix Phar build failure by [@​tscni](https://togithub.com/tscni) in [https://github.com/vimeo/psalm/pull/10391](https://togithub.com/vimeo/psalm/pull/10391) - Fix redundant condition mixed type escape hatch & loose comparison int type shouldnt be mixed by [@​kkmuffme](https://togithub.com/kkmuffme) in [https://github.com/vimeo/psalm/pull/10388](https://togithub.com/vimeo/psalm/pull/10388) - Fix [#​10398](https://togithub.com/vimeo/psalm/issues/10398): add missing methods of ReflectionProperty class in CallMap and CallMap deltas. by [@​niconoe-](https://togithub.com/niconoe-) in [https://github.com/vimeo/psalm/pull/10399](https://togithub.com/vimeo/psalm/pull/10399) ##### Docs - docs: A semicolon expected by [@​lens0021](https://togithub.com/lens0021) in [https://github.com/vimeo/psalm/pull/10149](https://togithub.com/vimeo/psalm/pull/10149) - Add documentation for [@​psalm-flow](https://togithub.com/psalm-flow) by [@​ohader](https://togithub.com/ohader) in [https://github.com/vimeo/psalm/pull/10349](https://togithub.com/vimeo/psalm/pull/10349) ##### Internal changes - Extract the list of impure functions into its own dictionary by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/10136](https://togithub.com/vimeo/psalm/pull/10136) - `composer.json` tweaks by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/10161](https://togithub.com/vimeo/psalm/pull/10161) - Bump actions/checkout from 3 to 4 by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/vimeo/psalm/pull/10192](https://togithub.com/vimeo/psalm/pull/10192) - Update IssueBuffer.php by [@​aleksandr-shevchenko](https://togithub.com/aleksandr-shevchenko) in [https://github.com/vimeo/psalm/pull/10294](https://togithub.com/vimeo/psalm/pull/10294) - Backport rector fixes to 5.x by [@​danog](https://togithub.com/danog) in [https://github.com/vimeo/psalm/pull/10306](https://togithub.com/vimeo/psalm/pull/10306) - Bump fkirc/skip-duplicate-actions from 5.3.0 to 5.3.1 by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/vimeo/psalm/pull/10313](https://togithub.com/vimeo/psalm/pull/10313) - Allow Symfony 7 by [@​kbond](https://togithub.com/kbond) in [https://github.com/vimeo/psalm/pull/10335](https://togithub.com/vimeo/psalm/pull/10335) - Get rid of legacy 7.3 logic by [@​danog](https://togithub.com/danog) in [https://github.com/vimeo/psalm/pull/10319](https://togithub.com/vimeo/psalm/pull/10319) - Finalize all internal classes by [@​danog](https://togithub.com/danog) in [https://github.com/vimeo/psalm/pull/10318](https://togithub.com/vimeo/psalm/pull/10318) - fix CI "split" unevenly splits the number of tests by [@​kkmuffme](https://togithub.com/kkmuffme) in [https://github.com/vimeo/psalm/pull/10389](https://togithub.com/vimeo/psalm/pull/10389) - Fix circleci builds by [@​danog](https://togithub.com/danog) in [https://github.com/vimeo/psalm/pull/10396](https://togithub.com/vimeo/psalm/pull/10396) ##### Other changes - Add exec output param out by [@​kkmuffme](https://togithub.com/kkmuffme) in [https://github.com/vimeo/psalm/pull/10128](https://togithub.com/vimeo/psalm/pull/10128) #### New Contributors - [@​lens0021](https://togithub.com/lens0021) made their first contribution in [https://github.com/vimeo/psalm/pull/10149](https://togithub.com/vimeo/psalm/pull/10149) - [@​kk-daniel](https://togithub.com/kk-daniel) made their first contribution in [https://github.com/vimeo/psalm/pull/10279](https://togithub.com/vimeo/psalm/pull/10279) - [@​aleksandr-shevchenko](https://togithub.com/aleksandr-shevchenko) made their first contribution in [https://github.com/vimeo/psalm/pull/10294](https://togithub.com/vimeo/psalm/pull/10294) - [@​simonberger](https://togithub.com/simonberger) made their first contribution in [https://github.com/vimeo/psalm/pull/10314](https://togithub.com/vimeo/psalm/pull/10314) - [@​kbond](https://togithub.com/kbond) made their first contribution in [https://github.com/vimeo/psalm/pull/10335](https://togithub.com/vimeo/psalm/pull/10335) - [@​issidorov](https://togithub.com/issidorov) made their first contribution in [https://github.com/vimeo/psalm/pull/10320](https://togithub.com/vimeo/psalm/pull/10320) **Full Changelog**: vimeo/psalm@5.15.0...5.16.0 </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), 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. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- 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/open-feature/php-sdk). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy41OS44IiwidXBkYXRlZEluVmVyIjoiMzcuNTkuOCIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Signed-off-by: Tom Carrio <[email protected]>
Sorry, this is a quite comprehensive PR, I couldn't break it up though, as earlier commits caused me to fix issues in later commits (which sent me down a rabbit hole...)
The MethodComparator change caused tons of failing tests/shepherd errors, because psalm just ignored those for itself until now, e.g. suppressedIssues should be list, but some extending classes used array<int, string>,...