Skip to content
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

Implement PHP Version dependent deprecations for constants #1396

Merged
merged 3 commits into from
Mar 8, 2024

Conversation

staabm
Copy link
Contributor

@staabm staabm commented Mar 8, 2024

with this PR we strip the @deprecated phpdoc tag on constant definitions, in case the current php version does not match the declared min version.

motivation: report deprecation errors for constants only when the phpversion matches the @deprecated $version we find in the jetbrains/phpstorm-stubs in PHPStan

example: https://github.com/JetBrains/phpstorm-stubs/blob/9608c953230b08f07b703ecfe459cc58d5421437/filter/filter.php#L478

@staabm staabm marked this pull request as ready for review March 8, 2024 15:10
Copy link
Member

@Ocramius Ocramius left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! Thanks @staabm!

@Ocramius Ocramius added enhancement dependencies Pull requests that update a dependency file labels Mar 8, 2024
@Ocramius Ocramius added this to the 6.24.0 milestone Mar 8, 2024
@Ocramius Ocramius self-assigned this Mar 8, 2024
@Ocramius Ocramius merged commit e1ec2ad into Roave:6.24.x Mar 8, 2024
30 checks passed
@staabm staabm deleted the const-depr branch March 8, 2024 15:44
kayman-mk referenced this pull request in kayman-mk/blog-tech-at-work Mar 18, 2024
[![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.59` ->
`1.10.63` |
[![age](https://developer.mend.io/api/mc/badges/age/packagist/phpstan%2fphpstan/1.10.63?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/packagist/phpstan%2fphpstan/1.10.63?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/packagist/phpstan%2fphpstan/1.10.59/1.10.63?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/packagist/phpstan%2fphpstan/1.10.59/1.10.63?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>phpstan/phpstan (phpstan/phpstan)</summary>

###
[`v1.10.63`](https://togithub.com/phpstan/phpstan/compare/1.10.62...1.10.63)

[Compare
Source](https://togithub.com/phpstan/phpstan/compare/1.10.62...1.10.63)

###
[`v1.10.62`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.62)

[Compare
Source](https://togithub.com/phpstan/phpstan/compare/1.10.61...1.10.62)

# Improvements 🔧

- Too wide return type - report for conditional return types
(phpstan/phpstan-src@de1c07e)

# Bugfixes 🐛

- Constants deprecation depends on PHP version in comment
([#&#8203;2967](https://togithub.com/phpstan/phpstan-src/pull/2967)),
[#&#8203;10700](https://togithub.com/phpstan/phpstan/issues/10700),
thanks [@&#8203;staabm](https://togithub.com/staabm)!
- Make `@param-out` work even if it is the only conditional type in a
function signature
(phpstan/phpstan-src@787c1e2)
- ParameterOutAssignedTypeRule - fix for conditional types
(phpstan/phpstan-src@19497ba)
- ParameterOutExecutionEndTypeRule - fix for conditional types
(phpstan/phpstan-src@27c73f7)
- Too wide `@param-out` - fix for conditional types
(phpstan/phpstan-src@5a47893)

###
[`v1.10.61`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.61)

[Compare
Source](https://togithub.com/phpstan/phpstan/compare/1.10.60...1.10.61)

# Improvements 🔧

-   Update BetterReflection to 6.25.0
- Implement PHP Version dependent deprecations for constants
([https://github.com/Roave/BetterReflection/pull/1396](https://togithub.com/Roave/BetterReflection/pull/1396)),
thanks [@&#8203;staabm](https://togithub.com/staabm)!
- Support for `final` modifier in traits
([https://github.com/Roave/BetterReflection/pull/1383](https://togithub.com/Roave/BetterReflection/pull/1383)),
thanks [@&#8203;kukulich](https://togithub.com/kukulich)!
- Support for conditional types in `@param-out`
(phpstan/phpstan-src@effad95),
[#&#8203;10699](https://togithub.com/phpstan/phpstan/issues/10699)
- Check conditional types in `@param-out`
(phpstan/phpstan-src@67f9420)

# Bugfixes 🐛

- Too wide `@param-out` type - consider all execution ends at once
(phpstan/phpstan-src@d1bcf78),
[#&#8203;10687](https://togithub.com/phpstan/phpstan/issues/10687),
[#&#8203;10684](https://togithub.com/phpstan/phpstan/issues/10684)

# Internals 🔍

- MethodReturnStatementsNode - use ExtendedMethodReflection
(phpstan/phpstan-src@3cc1a54)

###
[`v1.10.60`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.60)

[Compare
Source](https://togithub.com/phpstan/phpstan/compare/1.10.59...1.10.60)

[**Learn more about this
release**](https://phpstan.org/blog/enhancements-in-handling-parameters-passed-by-reference)
in an article on phpstan.org!

# Major new features 🚀

- Generic `@method` tags: `@method T doFoo<T>(T $p)`,
[#&#8203;6371](https://togithub.com/phpstan/phpstan/issues/6371)
- [Learn
more](https://twitter.com/OndrejMirtes/status/1760994823073370509)
- [#&#8203;2931](https://togithub.com/phpstan/phpstan-src/pull/2931),
[#&#8203;2935](https://togithub.com/phpstan/phpstan-src/pull/2935),
thanks [@&#8203;mad-briller](https://togithub.com/mad-briller)!
- Generic callable types: `callable<T>(T): T`,
[#&#8203;8964](https://togithub.com/phpstan/phpstan/issues/8964)
- [#&#8203;2938](https://togithub.com/phpstan/phpstan-src/pull/2938),
[#&#8203;2945](https://togithub.com/phpstan/phpstan-src/pull/2945),
[#&#8203;2946](https://togithub.com/phpstan/phpstan-src/pull/2946),
thanks [@&#8203;mad-briller](https://togithub.com/mad-briller)!
- Error on references of prefixed internal class names from PHAR files
([#&#8203;2932](https://togithub.com/phpstan/phpstan-src/pull/2932)),
thanks [@&#8203;staabm](https://togithub.com/staabm)!

# Bleeding edge 🔪

-   **Enhancements in Handling Parameters Passed by Reference**
- [Learn more on
phpstan.org](https://phpstan.org/blog/enhancements-in-handling-parameters-passed-by-reference)
- [#&#8203;2941](https://togithub.com/phpstan/phpstan-src/pull/2941),
thanks [@&#8203;ljmaskey](https://togithub.com/ljmaskey)!
- Add option `reportAnyTypeWideningInVarTag`
([#&#8203;2840](https://togithub.com/phpstan/phpstan-src/pull/2840)),
thanks [@&#8203;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 🔧

- Add support for constructor assertions
([#&#8203;2950](https://togithub.com/phpstan/phpstan-src/pull/2950)),
[#&#8203;10645](https://togithub.com/phpstan/phpstan/issues/10645),
thanks [@&#8203;axlon](https://togithub.com/axlon)!
- Report uses of deprecated constants
([#&#8203;2953](https://togithub.com/phpstan/phpstan-src/pull/2953)),
thanks [@&#8203;staabm](https://togithub.com/staabm)!

# Bugfixes 🐛

- Fix how union of callables is understood
([#&#8203;2902](https://togithub.com/phpstan/phpstan-src/pull/2902)),
[#&#8203;10442](https://togithub.com/phpstan/phpstan/issues/10442),
thanks [@&#8203;mad-briller](https://togithub.com/mad-briller)!
- Fix for inferring closure parameter type from callable union
(phpstan/phpstan-src@c10476d)
- ArrayType - string offset might exist as integer offset
([#&#8203;2928](https://togithub.com/phpstan/phpstan-src/pull/2928)),
[#&#8203;10610](https://togithub.com/phpstan/phpstan/issues/10610),
thanks [@&#8203;michalbundyra](https://togithub.com/michalbundyra)!
- Truncate description of huge UnionType
(phpstan/phpstan-src@039a3dc),
[#&#8203;10614](https://togithub.com/phpstan/phpstan/issues/10614)
- fix type of `$a?->b::c()` and `$a?->b::$c`
([#&#8203;2933](https://togithub.com/phpstan/phpstan-src/pull/2933)),
thanks [@&#8203;schlndh](https://togithub.com/schlndh)!
- fix `fn() => __FUNCTION__` and `__METHOD__`
([#&#8203;2934](https://togithub.com/phpstan/phpstan-src/pull/2934)),
thanks [@&#8203;schlndh](https://togithub.com/schlndh)!
- Some sort functions do not preserve a list
(phpstan/phpstan-src@034f731,
phpstan/phpstan-src@0977a7b),
[#&#8203;10627](https://togithub.com/phpstan/phpstan/issues/10627)
- ArgumentsNormalizer - keep named arguments for unknown parameters
(phpstan/phpstan-src@ad34452),
[#&#8203;10628](https://togithub.com/phpstan/phpstan/issues/10628)
- Check `T of mixed&Foo` and `T of mixed|Foo`
([#&#8203;2940](https://togithub.com/phpstan/phpstan-src/pull/2940)),
thanks [@&#8203;schlndh](https://togithub.com/schlndh)!
- Use narrowed conditional type if/else types for subtype checks
([#&#8203;2948](https://togithub.com/phpstan/phpstan-src/pull/2948)),
[#&#8203;10622](https://togithub.com/phpstan/phpstan/issues/10622),
thanks [@&#8203;rvanvelzen](https://togithub.com/rvanvelzen)!
- Fix `isSuperTypeOf` of callable/Closure when parameter count differ
([#&#8203;2949](https://togithub.com/phpstan/phpstan-src/pull/2949)),
[#&#8203;10594](https://togithub.com/phpstan/phpstan/issues/10594),
thanks [@&#8203;takaram](https://togithub.com/takaram)!

# Function signature fixes 🤖

- Fix `ReflectionFunctionAbstract::getExtension` return type
(phpstan/phpstan-src@2ece1f8)
- Correct return type of `date_sun_info()` function
([#&#8203;2947](https://togithub.com/phpstan/phpstan-src/pull/2947)),
thanks [@&#8203;zonuexe](https://togithub.com/zonuexe)!
- Fix return values of `mysqli get_warnings`
([#&#8203;2929](https://togithub.com/phpstan/phpstan-src/pull/2929)),
thanks [@&#8203;janedbal](https://togithub.com/janedbal)!

# Internals 🔍

- Replace composer-require-checker with composer-dependency-analyser
([#&#8203;2875](https://togithub.com/phpstan/phpstan-src/pull/2875)),
thanks [@&#8203;janedbal](https://togithub.com/janedbal)!
- Use `Type::isNull()` in `Nullsafe(MethodCall|PropertyFetch)Rule`
([#&#8203;2942](https://togithub.com/phpstan/phpstan-src/pull/2942)),
thanks [@&#8203;takaram](https://togithub.com/takaram)!

</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/kayman-mk/blog-tech-at-work).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yMzAuMCIsInVwZGF0ZWRJblZlciI6IjM3LjI0NS4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
oguzhand95 referenced this pull request in cerbos/cerbos-sdk-php Apr 1, 2024
[![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-parallel-lint/php-parallel-lint](https://togithub.com/php-parallel-lint/PHP-Parallel-Lint)
| `1.3.2` -> `1.4.0` |
[![age](https://developer.mend.io/api/mc/badges/age/packagist/php-parallel-lint%2fphp-parallel-lint/1.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/packagist/php-parallel-lint%2fphp-parallel-lint/1.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/packagist/php-parallel-lint%2fphp-parallel-lint/1.3.2/1.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/packagist/php-parallel-lint%2fphp-parallel-lint/1.3.2/1.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [phpstan/phpstan](https://togithub.com/phpstan/phpstan) | `1.10.60` ->
`1.10.66` |
[![age](https://developer.mend.io/api/mc/badges/age/packagist/phpstan%2fphpstan/1.10.66?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/packagist/phpstan%2fphpstan/1.10.66?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/packagist/phpstan%2fphpstan/1.10.60/1.10.66?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/packagist/phpstan%2fphpstan/1.10.60/1.10.66?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [phpunit/phpunit](https://phpunit.de/)
([source](https://togithub.com/sebastianbergmann/phpunit)) | `10.5.12`
-> `10.5.16` |
[![age](https://developer.mend.io/api/mc/badges/age/packagist/phpunit%2fphpunit/10.5.16?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/packagist/phpunit%2fphpunit/10.5.16?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/packagist/phpunit%2fphpunit/10.5.12/10.5.16?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/packagist/phpunit%2fphpunit/10.5.12/10.5.16?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [vimeo/psalm](https://togithub.com/vimeo/psalm) | `5.23.0` -> `5.23.1`
|
[![age](https://developer.mend.io/api/mc/badges/age/packagist/vimeo%2fpsalm/5.23.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/packagist/vimeo%2fpsalm/5.23.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/packagist/vimeo%2fpsalm/5.23.0/5.23.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/packagist/vimeo%2fpsalm/5.23.0/5.23.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>php-parallel-lint/PHP-Parallel-Lint
(php-parallel-lint/php-parallel-lint)</summary>

###
[`v1.4.0`](https://togithub.com/php-parallel-lint/PHP-Parallel-Lint/releases/tag/v1.4.0)

[Compare
Source](https://togithub.com/php-parallel-lint/PHP-Parallel-Lint/compare/v1.3.2...v1.4.0)

New version with support up to PHP 8.3 and preliminary support for PHP
8.4.

##### Added

- The "skip linting" feature can now be used in PHP files starting with
a shebang, [#&#8203;146] from
[@&#8203;xaben](https://togithub.com/xaben).

##### Fixed

- PHP 8.4 deprecation notice, [#&#8203;154] from
[@&#8203;Ayesh](https://togithub.com/Ayesh) and
[@&#8203;jrfnl](https://togithub.com/jrfnl).
- Bug fix: the PHP version check in the application bootstrap did not
work on PHP < 5.3, [#&#8203;100] from
[@&#8203;jrfnl](https://togithub.com/jrfnl), fixes [#&#8203;62].
- Bug fix: files containing the `~` character in their name can now be
processed correctly, [#&#8203;118] from
[@&#8203;jrfnl](https://togithub.com/jrfnl).
- Bug fix: error message sometimes displayed on last line of code
snippet, [#&#8203;98] from [@&#8203;jrfnl](https://togithub.com/jrfnl),
fixes [#&#8203;93].
- Bug fix: error message would sometimes contain duplicate information,
[#&#8203;117] from [@&#8203;jrfnl](https://togithub.com/jrfnl).
- Bug fix: the "in file .. on line part" text did not always get cleaned
correctly from the error message, [#&#8203;118] from
[@&#8203;jrfnl](https://togithub.com/jrfnl).

##### Changed

- The percentage output in the progress report is now aligned,
[#&#8203;140] from
[@&#8203;robertology](https://togithub.com/robertology).
- The error message displayed when the PHP version is too low for the
application to run is now more informative, [#&#8203;100] from
[@&#8203;jrfnl](https://togithub.com/jrfnl).
- Composer: The package will now identify itself as a static
analysis/linting tool, [#&#8203;134] from
[@&#8203;staabm](https://togithub.com/staabm).
- Composer: fix grammar error, [#&#8203;139] from
[@&#8203;TravisCarden](https://togithub.com/TravisCarden).
- README: improvement to the install instructions, [#&#8203;99] from
[@&#8203;samsonasik](https://togithub.com/samsonasik), fixes
[#&#8203;96].
- README: move screenshot, [#&#8203;97] from
[@&#8203;jrfnl](https://togithub.com/jrfnl).
- README: fix typos, [#&#8203;124] from
[@&#8203;krsriq](https://togithub.com/krsriq).
- Docs: code style consistency, [#&#8203;137] from
[@&#8203;lens0021](https://togithub.com/lens0021).

##### Internal

- Prevent PHAR not being compatible with PHP < 7.0, [#&#8203;116] from
[@&#8203;jrfnl](https://togithub.com/jrfnl).
- GH Actions: update used actions, [#&#8203;109], [#&#8203;158] from
[@&#8203;jrfnl](https://togithub.com/jrfnl).
- GH Actions: updates for box 4.x, [#&#8203;121] from
[@&#8203;jrfnl](https://togithub.com/jrfnl).
- GH Actions: fix download URL for box, [#&#8203;125] from
[@&#8203;jrfnl](https://togithub.com/jrfnl).
- GH Actions: use fail-fast with setup-php when creating the binaries,
[#&#8203;131], [#&#8203;132] from
[@&#8203;jrfnl](https://togithub.com/jrfnl).
- GH Actions: update PHP version for PHAR boxing, [#&#8203;152] from
[@&#8203;jrfnl](https://togithub.com/jrfnl).
- GH Actions: harden the workflow against PHPCS ruleset errors,
[#&#8203;128] from [@&#8203;jrfnl](https://togithub.com/jrfnl).
- GH Actions: bust the cache semi-regularly, [#&#8203;129] from
[@&#8203;jrfnl](https://togithub.com/jrfnl).
- GH Actions: update PHP versions in workflows, [#&#8203;130] from
[@&#8203;jrfnl](https://togithub.com/jrfnl).
- GH Actions: update for the release of PHP 8.3, [#&#8203;150],
[#&#8203;151] from [@&#8203;jrfnl](https://togithub.com/jrfnl).
- GH Actions: fix duplicate release, [#&#8203;159] from
[@&#8203;jrfnl](https://togithub.com/jrfnl).
- SettingsParseArgumentsTest: fix bug in test, [#&#8203;102] from
[@&#8203;jrfnl](https://togithub.com/jrfnl).
- OutputTest: fix risky test, [#&#8203;156] from
[@&#8203;jrfnl](https://togithub.com/jrfnl).
- Tests: fix issue with Nette Tester 1.x, [#&#8203;141] from
[@&#8203;grogy](https://togithub.com/grogy).
- Add dependabot configuration file, [#&#8203;148] from
[@&#8203;jrfnl](https://togithub.com/jrfnl).

[1.4.0]:
https://togithub.com/php-parallel-lint/PHP-Parallel-Lint/compare/v1.3.2...v1.4.0

[#&#8203;62]:
https://togithub.com/php-parallel-lint/PHP-Parallel-Lint/issues/62

[#&#8203;93]:
https://togithub.com/php-parallel-lint/PHP-Parallel-Lint/issues/93

[#&#8203;96]:
https://togithub.com/php-parallel-lint/PHP-Parallel-Lint/issues/96

[#&#8203;97]:
https://togithub.com/php-parallel-lint/PHP-Parallel-Lint/pull/97

[#&#8203;98]:
https://togithub.com/php-parallel-lint/PHP-Parallel-Lint/pull/98

[#&#8203;99]:
https://togithub.com/php-parallel-lint/PHP-Parallel-Lint/pull/99

[#&#8203;100]:
https://togithub.com/php-parallel-lint/PHP-Parallel-Lint/pull/100

[#&#8203;102]:
https://togithub.com/php-parallel-lint/PHP-Parallel-Lint/pull/102

[#&#8203;109]:
https://togithub.com/php-parallel-lint/PHP-Parallel-Lint/pull/109

[#&#8203;116]:
https://togithub.com/php-parallel-lint/PHP-Parallel-Lint/pull/116

[#&#8203;117]:
https://togithub.com/php-parallel-lint/PHP-Parallel-Lint/pull/117

[#&#8203;118]:
https://togithub.com/php-parallel-lint/PHP-Parallel-Lint/pull/118

[#&#8203;121]:
https://togithub.com/php-parallel-lint/PHP-Parallel-Lint/pull/121

[#&#8203;124]:
https://togithub.com/php-parallel-lint/PHP-Parallel-Lint/pull/124

[#&#8203;125]:
https://togithub.com/php-parallel-lint/PHP-Parallel-Lint/pull/125

[#&#8203;128]:
https://togithub.com/php-parallel-lint/PHP-Parallel-Lint/pull/128

[#&#8203;129]:
https://togithub.com/php-parallel-lint/PHP-Parallel-Lint/pull/129

[#&#8203;130]:
https://togithub.com/php-parallel-lint/PHP-Parallel-Lint/pull/130

[#&#8203;131]:
https://togithub.com/php-parallel-lint/PHP-Parallel-Lint/pull/131

[#&#8203;132]:
https://togithub.com/php-parallel-lint/PHP-Parallel-Lint/pull/132

[#&#8203;134]:
https://togithub.com/php-parallel-lint/PHP-Parallel-Lint/pull/134

[#&#8203;137]:
https://togithub.com/php-parallel-lint/PHP-Parallel-Lint/pull/137

[#&#8203;139]:
https://togithub.com/php-parallel-lint/PHP-Parallel-Lint/pull/139

[#&#8203;140]:
https://togithub.com/php-parallel-lint/PHP-Parallel-Lint/pull/140

[#&#8203;141]:
https://togithub.com/php-parallel-lint/PHP-Parallel-Lint/pull/141

[#&#8203;146]:
https://togithub.com/php-parallel-lint/PHP-Parallel-Lint/pull/146

[#&#8203;148]:
https://togithub.com/php-parallel-lint/PHP-Parallel-Lint/pull/148

[#&#8203;150]:
https://togithub.com/php-parallel-lint/PHP-Parallel-Lint/pull/150

[#&#8203;151]:
https://togithub.com/php-parallel-lint/PHP-Parallel-Lint/pull/151

[#&#8203;152]:
https://togithub.com/php-parallel-lint/PHP-Parallel-Lint/pull/152

[#&#8203;154]:
https://togithub.com/php-parallel-lint/PHP-Parallel-Lint/pull/154

[#&#8203;156]:
https://togithub.com/php-parallel-lint/PHP-Parallel-Lint/pull/156

[#&#8203;158]:
https://togithub.com/php-parallel-lint/PHP-Parallel-Lint/pull/158

[#&#8203;159]:
https://togithub.com/php-parallel-lint/PHP-Parallel-Lint/pull/159

</details>

<details>
<summary>phpstan/phpstan (phpstan/phpstan)</summary>

###
[`v1.10.66`](https://togithub.com/phpstan/phpstan/compare/1.10.65...1.10.66)

[Compare
Source](https://togithub.com/phpstan/phpstan/compare/1.10.65...1.10.66)

###
[`v1.10.65`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.65)

[Compare
Source](https://togithub.com/phpstan/phpstan/compare/1.10.64...1.10.65)

# Improvements 🔧

- Fix slow enum cases union with lots of cases
([#&#8203;2985](https://togithub.com/phpstan/phpstan-src/pull/2985)),
[#&#8203;10772](https://togithub.com/phpstan/phpstan/issues/10772),
thanks [@&#8203;staabm](https://togithub.com/staabm)!

# Bugfixes 🐛

- Update BetterReflection
([#&#8203;2988](https://togithub.com/phpstan/phpstan-src/pull/2988))
- Fix ReflectionSourceStubber compatibility before PHP 8.1
(ondrejmirtes/BetterReflection@94ca133),
[https://github.com/larastan/larastan/pull/1882](https://togithub.com/larastan/larastan/pull/1882)
- Fix trait method visibility
(ondrejmirtes/BetterReflection@d6153d5?w=1)

# Function signature fixes 🤖

- Add benevolent union return types
([#&#8203;2986](https://togithub.com/phpstan/phpstan-src/pull/2986)),
thanks [@&#8203;zonuexe](https://togithub.com/zonuexe)!

# Internals 🔍

- Add more tests for issue
[#&#8203;10622](https://togithub.com/phpstan/phpstan/issues/10622)
([#&#8203;2961](https://togithub.com/phpstan/phpstan-src/pull/2961)),
thanks [@&#8203;mvorisek](https://togithub.com/mvorisek)!
- Remove unnecessary method calls in ClassReflection
([#&#8203;2984](https://togithub.com/phpstan/phpstan-src/pull/2984)),
thanks [@&#8203;staabm](https://togithub.com/staabm)!
- Use `TrinaryLogic::describe()` in test
(phpstan/phpstan-src@222a66c)

###
[`v1.10.64`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.64)

[Compare
Source](https://togithub.com/phpstan/phpstan/compare/1.10.63...1.10.64)

# Bleeding edge 🔪

- Fail build when project config uses custom extensions outside of
analysed paths
- This will only occur after a run that uses already present and valid
result cache

*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 🔧

- Introduce `ForbiddenClassNameExtension` for append additional
forbidden class prefixes
([#&#8203;2979](https://togithub.com/phpstan/phpstan-src/pull/2979)),
thanks [@&#8203;kamil-zacek](https://togithub.com/kamil-zacek)!
- Add `AlwaysUsedMethodExtension`
([#&#8203;2927](https://togithub.com/phpstan/phpstan-src/pull/2927)),
thanks [@&#8203;axlon](https://togithub.com/axlon)!
- Warn about possibly stale result cache with custom extensions
(phpstan/phpstan-src@9338fdf)
- This is how it looks:
https://twitter.com/OndrejMirtes/status/1770024563113390437

# Bugfixes 🐛

- Fix deprecated parameter order
([#&#8203;2971](https://togithub.com/phpstan/phpstan-src/pull/2971)),
thanks [@&#8203;sayuprc](https://togithub.com/sayuprc)!

# Function signature fixes 🤖

- Fix `DOMDocument::load` return type
([#&#8203;2975](https://togithub.com/phpstan/phpstan-src/pull/2975)),
thanks [@&#8203;VincentLanglet](https://togithub.com/VincentLanglet)!
- Fix `SplObjectStorage::removeAll/Except`
([#&#8203;2892](https://togithub.com/phpstan/phpstan-src/pull/2892)),
thanks [@&#8203;schlndh](https://togithub.com/schlndh)!

###
[`v1.10.63`](https://togithub.com/phpstan/phpstan/compare/1.10.62...1.10.63)

[Compare
Source](https://togithub.com/phpstan/phpstan/compare/1.10.62...1.10.63)

###
[`v1.10.62`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.62)

[Compare
Source](https://togithub.com/phpstan/phpstan/compare/1.10.61...1.10.62)

# Improvements 🔧

- Too wide return type - report for conditional return types
(phpstan/phpstan-src@de1c07e)

# Bugfixes 🐛

- Constants deprecation depends on PHP version in comment
([#&#8203;2967](https://togithub.com/phpstan/phpstan-src/pull/2967)),
[#&#8203;10700](https://togithub.com/phpstan/phpstan/issues/10700),
thanks [@&#8203;staabm](https://togithub.com/staabm)!
- Make `@param-out` work even if it is the only conditional type in a
function signature
(phpstan/phpstan-src@787c1e2)
- ParameterOutAssignedTypeRule - fix for conditional types
(phpstan/phpstan-src@19497ba)
- ParameterOutExecutionEndTypeRule - fix for conditional types
(phpstan/phpstan-src@27c73f7)
- Too wide `@param-out` - fix for conditional types
(phpstan/phpstan-src@5a47893)

###
[`v1.10.61`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.61)

[Compare
Source](https://togithub.com/phpstan/phpstan/compare/1.10.60...1.10.61)

# Improvements 🔧

-   Update BetterReflection to 6.25.0
- Implement PHP Version dependent deprecations for constants
([https://github.com/Roave/BetterReflection/pull/1396](https://togithub.com/Roave/BetterReflection/pull/1396)),
thanks [@&#8203;staabm](https://togithub.com/staabm)!
- Support for `final` modifier in traits
([https://github.com/Roave/BetterReflection/pull/1383](https://togithub.com/Roave/BetterReflection/pull/1383)),
thanks [@&#8203;kukulich](https://togithub.com/kukulich)!
- Support for conditional types in `@param-out`
(phpstan/phpstan-src@effad95),
[#&#8203;10699](https://togithub.com/phpstan/phpstan/issues/10699)
- Check conditional types in `@param-out`
(phpstan/phpstan-src@67f9420)

# Bugfixes 🐛

- Too wide `@param-out` type - consider all execution ends at once
(phpstan/phpstan-src@d1bcf78),
[#&#8203;10687](https://togithub.com/phpstan/phpstan/issues/10687),
[#&#8203;10684](https://togithub.com/phpstan/phpstan/issues/10684)

# Internals 🔍

- MethodReturnStatementsNode - use ExtendedMethodReflection
(phpstan/phpstan-src@3cc1a54)

</details>

<details>
<summary>sebastianbergmann/phpunit (phpunit/phpunit)</summary>

###
[`v10.5.16`](https://togithub.com/sebastianbergmann/phpunit/compare/10.5.15...10.5.16)

[Compare
Source](https://togithub.com/sebastianbergmann/phpunit/compare/10.5.15...10.5.16)

###
[`v10.5.15`](https://togithub.com/sebastianbergmann/phpunit/compare/10.5.14...10.5.15)

[Compare
Source](https://togithub.com/sebastianbergmann/phpunit/compare/10.5.14...10.5.15)

###
[`v10.5.14`](https://togithub.com/sebastianbergmann/phpunit/releases/tag/10.5.14):
PHPUnit 10.5.14

[Compare
Source](https://togithub.com/sebastianbergmann/phpunit/compare/10.5.13...10.5.14)

##### Changed

-
[#&#8203;5747](https://togithub.com/sebastianbergmann/phpunit/pull/5747):
Cache result of `Groups::groups()`
-
[#&#8203;5748](https://togithub.com/sebastianbergmann/phpunit/pull/5748):
Improve performance of `NamePrettifier::prettifyTestMethodName()`
-
[#&#8203;5750](https://togithub.com/sebastianbergmann/phpunit/pull/5750):
Micro-optimize `NamePrettifier::prettifyTestMethodName()` once again

##### Fixed

-
[#&#8203;5760](https://togithub.com/sebastianbergmann/phpunit/issues/5760):
TestDox printer does not display details about exceptions raised in
before-test methods

***

[How to install or update
PHPUnit](https://docs.phpunit.de/en/10.5/installation.html)

###
[`v10.5.13`](https://togithub.com/sebastianbergmann/phpunit/compare/10.5.12...10.5.13)

[Compare
Source](https://togithub.com/sebastianbergmann/phpunit/compare/10.5.12...10.5.13)

</details>

<details>
<summary>vimeo/psalm (vimeo/psalm)</summary>

### [`v5.23.1`](https://togithub.com/vimeo/psalm/releases/tag/5.23.1)

[Compare
Source](https://togithub.com/vimeo/psalm/compare/5.23.0...5.23.1)

<!-- Release notes generated using configuration in .github/release.yml
at 5.23.x -->

#### What's Changed

##### Fixes

- Fixed analysis of existing static methods if the `__callStatic()`
method exists by [@&#8203;issidorov](https://togithub.com/issidorov) in
[https://github.com/vimeo/psalm/pull/10812](https://togithub.com/vimeo/psalm/pull/10812)

**Full Changelog**:
vimeo/psalm@5.23.0...5.23.1

</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:eyJjcmVhdGVkSW5WZXIiOiIzNy4yNDUuMCIsInVwZGF0ZWRJblZlciI6IjM3LjI2OS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

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>
Gashmob referenced this pull request in Gashmob/project-templates Apr 4, 2024
[![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.59` ->
`1.10.66` |
[![age](https://developer.mend.io/api/mc/badges/age/packagist/phpstan%2fphpstan/1.10.66?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/packagist/phpstan%2fphpstan/1.10.66?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/packagist/phpstan%2fphpstan/1.10.59/1.10.66?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/packagist/phpstan%2fphpstan/1.10.59/1.10.66?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>phpstan/phpstan (phpstan/phpstan)</summary>

###
[`v1.10.66`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.66)

[Compare
Source](https://togithub.com/phpstan/phpstan/compare/1.10.65...1.10.66)

# Improvements 🔧

- Detect mismatch between readonly/non-readonly class parent
(phpstan/phpstan-src@986cbdf),
[#&#8203;10789](https://togithub.com/phpstan/phpstan/issues/10789)
- TypeInferenceTestCase - fix for performance problem with PHPUnit 11
(phpstan/phpstan-src@da87a65),
[#&#8203;10757](https://togithub.com/phpstan/phpstan/issues/10757)

# Bugfixes 🐛

- `array_push` preserves list
(phpstan/phpstan-src@5473b67)

# Function signature fixes 🤖

- Fix `redis::get` signature
([#&#8203;2990](https://togithub.com/phpstan/phpstan-src/pull/2990)),
thanks [@&#8203;VincentLanglet](https://togithub.com/VincentLanglet)!

# Internals 🔍

- Prevent unnecessary calls into reflection from JSON extensions
([#&#8203;2994](https://togithub.com/phpstan/phpstan-src/pull/2994)),
thanks [@&#8203;staabm](https://togithub.com/staabm)!

###
[`v1.10.65`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.65)

[Compare
Source](https://togithub.com/phpstan/phpstan/compare/1.10.64...1.10.65)

# Improvements 🔧

- Fix slow enum cases union with lots of cases
([#&#8203;2985](https://togithub.com/phpstan/phpstan-src/pull/2985)),
[#&#8203;10772](https://togithub.com/phpstan/phpstan/issues/10772),
thanks [@&#8203;staabm](https://togithub.com/staabm)!

# Bugfixes 🐛

- Update BetterReflection
([#&#8203;2988](https://togithub.com/phpstan/phpstan-src/pull/2988))
- Fix ReflectionSourceStubber compatibility before PHP 8.1
(ondrejmirtes/BetterReflection@94ca133),
[https://github.com/larastan/larastan/pull/1882](https://togithub.com/larastan/larastan/pull/1882)
- Fix trait method visibility
(ondrejmirtes/BetterReflection@d6153d5?w=1)

# Function signature fixes 🤖

- Add benevolent union return types
([#&#8203;2986](https://togithub.com/phpstan/phpstan-src/pull/2986)),
thanks [@&#8203;zonuexe](https://togithub.com/zonuexe)!

# Internals 🔍

- Add more tests for issue
[#&#8203;10622](https://togithub.com/phpstan/phpstan/issues/10622)
([#&#8203;2961](https://togithub.com/phpstan/phpstan-src/pull/2961)),
thanks [@&#8203;mvorisek](https://togithub.com/mvorisek)!
- Remove unnecessary method calls in ClassReflection
([#&#8203;2984](https://togithub.com/phpstan/phpstan-src/pull/2984)),
thanks [@&#8203;staabm](https://togithub.com/staabm)!
- Use `TrinaryLogic::describe()` in test
(phpstan/phpstan-src@222a66c)

###
[`v1.10.64`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.64)

[Compare
Source](https://togithub.com/phpstan/phpstan/compare/1.10.63...1.10.64)

# Bleeding edge 🔪

- Fail build when project config uses custom extensions outside of
analysed paths
- This will only occur after a run that uses already present and valid
result cache

*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 🔧

- Introduce `ForbiddenClassNameExtension` for append additional
forbidden class prefixes
([#&#8203;2979](https://togithub.com/phpstan/phpstan-src/pull/2979)),
thanks [@&#8203;kamil-zacek](https://togithub.com/kamil-zacek)!
- Add `AlwaysUsedMethodExtension`
([#&#8203;2927](https://togithub.com/phpstan/phpstan-src/pull/2927)),
thanks [@&#8203;axlon](https://togithub.com/axlon)!
- Warn about possibly stale result cache with custom extensions
(phpstan/phpstan-src@9338fdf)
- This is how it looks:
https://twitter.com/OndrejMirtes/status/1770024563113390437

# Bugfixes 🐛

- Fix deprecated parameter order
([#&#8203;2971](https://togithub.com/phpstan/phpstan-src/pull/2971)),
thanks [@&#8203;sayuprc](https://togithub.com/sayuprc)!

# Function signature fixes 🤖

- Fix `DOMDocument::load` return type
([#&#8203;2975](https://togithub.com/phpstan/phpstan-src/pull/2975)),
thanks [@&#8203;VincentLanglet](https://togithub.com/VincentLanglet)!
- Fix `SplObjectStorage::removeAll/Except`
([#&#8203;2892](https://togithub.com/phpstan/phpstan-src/pull/2892)),
thanks [@&#8203;schlndh](https://togithub.com/schlndh)!

###
[`v1.10.63`](https://togithub.com/phpstan/phpstan/compare/1.10.62...1.10.63)

[Compare
Source](https://togithub.com/phpstan/phpstan/compare/1.10.62...1.10.63)

###
[`v1.10.62`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.62)

[Compare
Source](https://togithub.com/phpstan/phpstan/compare/1.10.61...1.10.62)

# Improvements 🔧

- Too wide return type - report for conditional return types
(phpstan/phpstan-src@de1c07e)

# Bugfixes 🐛

- Constants deprecation depends on PHP version in comment
([#&#8203;2967](https://togithub.com/phpstan/phpstan-src/pull/2967)),
[#&#8203;10700](https://togithub.com/phpstan/phpstan/issues/10700),
thanks [@&#8203;staabm](https://togithub.com/staabm)!
- Make `@param-out` work even if it is the only conditional type in a
function signature
(phpstan/phpstan-src@787c1e2)
- ParameterOutAssignedTypeRule - fix for conditional types
(phpstan/phpstan-src@19497ba)
- ParameterOutExecutionEndTypeRule - fix for conditional types
(phpstan/phpstan-src@27c73f7)
- Too wide `@param-out` - fix for conditional types
(phpstan/phpstan-src@5a47893)

###
[`v1.10.61`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.61)

[Compare
Source](https://togithub.com/phpstan/phpstan/compare/1.10.60...1.10.61)

# Improvements 🔧

-   Update BetterReflection to 6.25.0
- Implement PHP Version dependent deprecations for constants
([https://github.com/Roave/BetterReflection/pull/1396](https://togithub.com/Roave/BetterReflection/pull/1396)),
thanks [@&#8203;staabm](https://togithub.com/staabm)!
- Support for `final` modifier in traits
([https://github.com/Roave/BetterReflection/pull/1383](https://togithub.com/Roave/BetterReflection/pull/1383)),
thanks [@&#8203;kukulich](https://togithub.com/kukulich)!
- Support for conditional types in `@param-out`
(phpstan/phpstan-src@effad95),
[#&#8203;10699](https://togithub.com/phpstan/phpstan/issues/10699)
- Check conditional types in `@param-out`
(phpstan/phpstan-src@67f9420)

# Bugfixes 🐛

- Too wide `@param-out` type - consider all execution ends at once
(phpstan/phpstan-src@d1bcf78),
[#&#8203;10687](https://togithub.com/phpstan/phpstan/issues/10687),
[#&#8203;10684](https://togithub.com/phpstan/phpstan/issues/10684)

# Internals 🔍

- MethodReturnStatementsNode - use ExtendedMethodReflection
(phpstan/phpstan-src@3cc1a54)

###
[`v1.10.60`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.60)

[Compare
Source](https://togithub.com/phpstan/phpstan/compare/1.10.59...1.10.60)

[**Learn more about this
release**](https://phpstan.org/blog/enhancements-in-handling-parameters-passed-by-reference)
in an article on phpstan.org!

# Major new features 🚀

- Generic `@method` tags: `@method T doFoo<T>(T $p)`,
[#&#8203;6371](https://togithub.com/phpstan/phpstan/issues/6371)
- [Learn
more](https://twitter.com/OndrejMirtes/status/1760994823073370509)
- [#&#8203;2931](https://togithub.com/phpstan/phpstan-src/pull/2931),
[#&#8203;2935](https://togithub.com/phpstan/phpstan-src/pull/2935),
thanks [@&#8203;mad-briller](https://togithub.com/mad-briller)!
- Generic callable types: `callable<T>(T): T`,
[#&#8203;8964](https://togithub.com/phpstan/phpstan/issues/8964)
- [#&#8203;2938](https://togithub.com/phpstan/phpstan-src/pull/2938),
[#&#8203;2945](https://togithub.com/phpstan/phpstan-src/pull/2945),
[#&#8203;2946](https://togithub.com/phpstan/phpstan-src/pull/2946),
thanks [@&#8203;mad-briller](https://togithub.com/mad-briller)!
- Error on references of prefixed internal class names from PHAR files
([#&#8203;2932](https://togithub.com/phpstan/phpstan-src/pull/2932)),
thanks [@&#8203;staabm](https://togithub.com/staabm)!

# Bleeding edge 🔪

-   **Enhancements in Handling Parameters Passed by Reference**
- [Learn more on
phpstan.org](https://phpstan.org/blog/enhancements-in-handling-parameters-passed-by-reference)
- [#&#8203;2941](https://togithub.com/phpstan/phpstan-src/pull/2941),
thanks [@&#8203;ljmaskey](https://togithub.com/ljmaskey)!
- Add option `reportAnyTypeWideningInVarTag`
([#&#8203;2840](https://togithub.com/phpstan/phpstan-src/pull/2840)),
thanks [@&#8203;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 🔧

- Add support for constructor assertions
([#&#8203;2950](https://togithub.com/phpstan/phpstan-src/pull/2950)),
[#&#8203;10645](https://togithub.com/phpstan/phpstan/issues/10645),
thanks [@&#8203;axlon](https://togithub.com/axlon)!
- Report uses of deprecated constants
([#&#8203;2953](https://togithub.com/phpstan/phpstan-src/pull/2953)),
thanks [@&#8203;staabm](https://togithub.com/staabm)!

# Bugfixes 🐛

- Fix how union of callables is understood
([#&#8203;2902](https://togithub.com/phpstan/phpstan-src/pull/2902)),
[#&#8203;10442](https://togithub.com/phpstan/phpstan/issues/10442),
thanks [@&#8203;mad-briller](https://togithub.com/mad-briller)!
- Fix for inferring closure parameter type from callable union
(phpstan/phpstan-src@c10476d)
- ArrayType - string offset might exist as integer offset
([#&#8203;2928](https://togithub.com/phpstan/phpstan-src/pull/2928)),
[#&#8203;10610](https://togithub.com/phpstan/phpstan/issues/10610),
thanks [@&#8203;michalbundyra](https://togithub.com/michalbundyra)!
- Truncate description of huge UnionType
(phpstan/phpstan-src@039a3dc),
[#&#8203;10614](https://togithub.com/phpstan/phpstan/issues/10614)
- fix type of `$a?->b::c()` and `$a?->b::$c`
([#&#8203;2933](https://togithub.com/phpstan/phpstan-src/pull/2933)),
thanks [@&#8203;schlndh](https://togithub.com/schlndh)!
- fix `fn() => __FUNCTION__` and `__METHOD__`
([#&#8203;2934](https://togithub.com/phpstan/phpstan-src/pull/2934)),
thanks [@&#8203;schlndh](https://togithub.com/schlndh)!
- Some sort functions do not preserve a list
(phpstan/phpstan-src@034f731,
phpstan/phpstan-src@0977a7b),
[#&#8203;10627](https://togithub.com/phpstan/phpstan/issues/10627)
- ArgumentsNormalizer - keep named arguments for unknown parameters
(phpstan/phpstan-src@ad34452),
[#&#8203;10628](https://togithub.com/phpstan/phpstan/issues/10628)
- Check `T of mixed&Foo` and `T of mixed|Foo`
([#&#8203;2940](https://togithub.com/phpstan/phpstan-src/pull/2940)),
thanks [@&#8203;schlndh](https://togithub.com/schlndh)!
- Use narrowed conditional type if/else types for subtype checks
([#&#8203;2948](https://togithub.com/phpstan/phpstan-src/pull/2948)),
[#&#8203;10622](https://togithub.com/phpstan/phpstan/issues/10622),
thanks [@&#8203;rvanvelzen](https://togithub.com/rvanvelzen)!
- Fix `isSuperTypeOf` of callable/Closure when parameter count differ
([#&#8203;2949](https://togithub.com/phpstan/phpstan-src/pull/2949)),
[#&#8203;10594](https://togithub.com/phpstan/phpstan/issues/10594),
thanks [@&#8203;takaram](https://togithub.com/takaram)!

# Function signature fixes 🤖

- Fix `ReflectionFunctionAbstract::getExtension` return type
(phpstan/phpstan-src@2ece1f8)
- Correct return type of `date_sun_info()` function
([#&#8203;2947](https://togithub.com/phpstan/phpstan-src/pull/2947)),
thanks [@&#8203;zonuexe](https://togithub.com/zonuexe)!
- Fix return values of `mysqli get_warnings`
([#&#8203;2929](https://togithub.com/phpstan/phpstan-src/pull/2929)),
thanks [@&#8203;janedbal](https://togithub.com/janedbal)!

# Internals 🔍

- Replace composer-require-checker with composer-dependency-analyser
([#&#8203;2875](https://togithub.com/phpstan/phpstan-src/pull/2875)),
thanks [@&#8203;janedbal](https://togithub.com/janedbal)!
- Use `Type::isNull()` in `Nullsafe(MethodCall|PropertyFetch)Rule`
([#&#8203;2942](https://togithub.com/phpstan/phpstan-src/pull/2942)),
thanks [@&#8203;takaram](https://togithub.com/takaram)!

</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/Gashmob/project-templates).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yMzAuMCIsInVwZGF0ZWRJblZlciI6IjM3LjI2OS4yIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIn0=-->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file enhancement
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants