phpstan/phpstan (phpstan/phpstan)
### [`v1.10.22`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.22)
[Compare Source](https://togithub.com/phpstan/phpstan/compare/1.10.21...1.10.22)
# Bleeding edge πͺ
- More precise `file()` flags args ([#2476](https://togithub.com/phpstan/phpstan-src/pull/2476), [#2482](https://togithub.com/phpstan/phpstan-src/pull/2482)), thanks [@staabm](https://togithub.com/staabm)!
- Non-static methods cannot be used as static callables in PHP 8+ ([#2420](https://togithub.com/phpstan/phpstan-src/pull/2420)), thanks [@staabm](https://togithub.com/staabm)!
- More precise `flock()` operation flags ([#2477](https://togithub.com/phpstan/phpstan-src/pull/2477)), thanks [@staabm](https://togithub.com/staabm)!
- Rule for `call_user_func()` ([#2479](https://togithub.com/phpstan/phpstan-src/pull/2479)), 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 return type extension for `constant()` ([#2474](https://togithub.com/phpstan/phpstan-src/pull/2474)), thanks [@herndlm](https://togithub.com/herndlm)!
- Dynamic `assert()` throw type extension ([#2427](https://togithub.com/phpstan/phpstan-src/pull/2427)), thanks [@patrickkusebauch](https://togithub.com/patrickkusebauch)!
- Update nikic/PHP-Parser (https://github.com/phpstan/phpstan-src/commit/79b3034acf926b23ec3bcfed1ad36ea375f01981)
- PHP 8.3: `json_validate()` stub (https://github.com/phpstan/phpstan-src/commit/828b269c0dccda404e33a5cca1ac4be1998e18ba), thanks [@staabm](https://togithub.com/staabm)!
- Implement `call_user_func()` DynamicFunctionReturnTypeExtension ([#2479](https://togithub.com/phpstan/phpstan-src/pull/2479)), thanks [@staabm](https://togithub.com/staabm)!
# Bugfixes π
- Add support for math with constant numeric string ([#2209](https://togithub.com/phpstan/phpstan-src/pull/2209)), [#8803](https://togithub.com/phpstan/phpstan/issues/8803), [#8827](https://togithub.com/phpstan/phpstan/issues/8827), thanks [@VincentLanglet](https://togithub.com/VincentLanglet)!
- Use case insensitive matching to detect usages of private methods ([#2484](https://togithub.com/phpstan/phpstan-src/pull/2484)), [#8346](https://togithub.com/phpstan/phpstan/issues/8346), thanks [@stof](https://togithub.com/stof)!
- fix array_splice with non-array replacement ([#2457](https://togithub.com/phpstan/phpstan-src/pull/2457)), thanks [@schlndh](https://togithub.com/schlndh)!
- Resolve key and value type of partially non-iterable types when entering foreach (https://github.com/phpstan/phpstan-src/commit/cb5a2b4575bee005c33fcbdc3748abc160cbda14), [#9535](https://togithub.com/phpstan/phpstan/issues/9535), [#4907](https://togithub.com/phpstan/phpstan/issues/4907), [#8924](https://togithub.com/phpstan/phpstan/issues/8924), [#5998](https://togithub.com/phpstan/phpstan/issues/5998)
- Foreach can append to the array but it does not change the number of iterations (https://github.com/phpstan/phpstan-src/commit/27085c5516f6864d73e660d6e897a1466c4169a6), [#4612](https://togithub.com/phpstan/phpstan/issues/4612)
- MutatingScope - process left side of BooleanAnd and BooleanOr before getting type of the whole expression (https://github.com/phpstan/phpstan-src/commit/989dd6fab8b0bf66777e20c533c90c7841d05c3a), [#5365](https://togithub.com/phpstan/phpstan/issues/5365), [#6551](https://togithub.com/phpstan/phpstan/issues/6551), [#7491](https://togithub.com/phpstan/phpstan/issues/7491), [#4004](https://togithub.com/phpstan/phpstan/issues/4004), [#2499](https://togithub.com/phpstan/phpstan/issues/2499)
- MutatingScope - process ternary cond before getting type of the whole expression (https://github.com/phpstan/phpstan-src/commit/faba80560516dc2780ff014f36171e806a7b19c2)
- Fix processing switch with complex case conditions (https://github.com/phpstan/phpstan-src/commit/f6b34f2ac86d2830f53ba51601067232ea1bf6d6), [#5326](https://togithub.com/phpstan/phpstan/issues/5326)
- Fix ClassConstFetch Identical specification with Yoda conditions ([#2498](https://togithub.com/phpstan/phpstan-src/pull/2498)), [#9542](https://togithub.com/phpstan/phpstan/issues/9542), thanks [@herndlm](https://togithub.com/herndlm)!
# Function signature fixes π€
- Update functionMap for ext-mongodb 1.16 ([#2473](https://togithub.com/phpstan/phpstan-src/pull/2473)), thanks [@alcaeus](https://togithub.com/alcaeus)!
- Add false to the `db2_num_rows()` return type ([#2456](https://togithub.com/phpstan/phpstan-src/pull/2456)), thanks [@morozov](https://togithub.com/morozov)!
- More precise `ignore_user_abort()` return type ([#2489](https://togithub.com/phpstan/phpstan-src/pull/2489)), thanks [@staabm](https://togithub.com/staabm)!
# Internals π
- Type projections, part 1: call-site variance in GenericObjectType ([#2471](https://togithub.com/phpstan/phpstan-src/pull/2471)), thanks [@jiripudil](https://togithub.com/jiripudil)!
- Test PHP 8.3 ([#2486](https://togithub.com/phpstan/phpstan-src/pull/2486))
- Cleanup NodeScopeResolver ([#2499](https://togithub.com/phpstan/phpstan-src/pull/2499)), thanks [@staabm](https://togithub.com/staabm)!
sebastianbergmann/phpunit (phpunit/phpunit)
### [`v10.2.3`](https://togithub.com/sebastianbergmann/phpunit/compare/10.2.2...10.2.3)
[Compare Source](https://togithub.com/sebastianbergmann/phpunit/compare/10.2.2...10.2.3)
Configuration
π Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
π¦ Automerge: Enabled.
β» Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
π» Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
[ ] If you want to rebase/retry this PR, check this box
This PR contains the following updates:
1.10.21
->1.10.22
10.2.2
->10.2.3
Release Notes
phpstan/phpstan (phpstan/phpstan)
### [`v1.10.22`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.22) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.10.21...1.10.22) # Bleeding edge πͺ - More precise `file()` flags args ([#2476](https://togithub.com/phpstan/phpstan-src/pull/2476), [#2482](https://togithub.com/phpstan/phpstan-src/pull/2482)), thanks [@staabm](https://togithub.com/staabm)! - Non-static methods cannot be used as static callables in PHP 8+ ([#2420](https://togithub.com/phpstan/phpstan-src/pull/2420)), thanks [@staabm](https://togithub.com/staabm)! - More precise `flock()` operation flags ([#2477](https://togithub.com/phpstan/phpstan-src/pull/2477)), thanks [@staabm](https://togithub.com/staabm)! - Rule for `call_user_func()` ([#2479](https://togithub.com/phpstan/phpstan-src/pull/2479)), 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 return type extension for `constant()` ([#2474](https://togithub.com/phpstan/phpstan-src/pull/2474)), thanks [@herndlm](https://togithub.com/herndlm)! - Dynamic `assert()` throw type extension ([#2427](https://togithub.com/phpstan/phpstan-src/pull/2427)), thanks [@patrickkusebauch](https://togithub.com/patrickkusebauch)! - Update nikic/PHP-Parser (https://github.com/phpstan/phpstan-src/commit/79b3034acf926b23ec3bcfed1ad36ea375f01981) - PHP 8.3: `json_validate()` stub (https://github.com/phpstan/phpstan-src/commit/828b269c0dccda404e33a5cca1ac4be1998e18ba), thanks [@staabm](https://togithub.com/staabm)! - Implement `call_user_func()` DynamicFunctionReturnTypeExtension ([#2479](https://togithub.com/phpstan/phpstan-src/pull/2479)), thanks [@staabm](https://togithub.com/staabm)! # Bugfixes π - Add support for math with constant numeric string ([#2209](https://togithub.com/phpstan/phpstan-src/pull/2209)), [#8803](https://togithub.com/phpstan/phpstan/issues/8803), [#8827](https://togithub.com/phpstan/phpstan/issues/8827), thanks [@VincentLanglet](https://togithub.com/VincentLanglet)! - Use case insensitive matching to detect usages of private methods ([#2484](https://togithub.com/phpstan/phpstan-src/pull/2484)), [#8346](https://togithub.com/phpstan/phpstan/issues/8346), thanks [@stof](https://togithub.com/stof)! - fix array_splice with non-array replacement ([#2457](https://togithub.com/phpstan/phpstan-src/pull/2457)), thanks [@schlndh](https://togithub.com/schlndh)! - Resolve key and value type of partially non-iterable types when entering foreach (https://github.com/phpstan/phpstan-src/commit/cb5a2b4575bee005c33fcbdc3748abc160cbda14), [#9535](https://togithub.com/phpstan/phpstan/issues/9535), [#4907](https://togithub.com/phpstan/phpstan/issues/4907), [#8924](https://togithub.com/phpstan/phpstan/issues/8924), [#5998](https://togithub.com/phpstan/phpstan/issues/5998) - Foreach can append to the array but it does not change the number of iterations (https://github.com/phpstan/phpstan-src/commit/27085c5516f6864d73e660d6e897a1466c4169a6), [#4612](https://togithub.com/phpstan/phpstan/issues/4612) - MutatingScope - process left side of BooleanAnd and BooleanOr before getting type of the whole expression (https://github.com/phpstan/phpstan-src/commit/989dd6fab8b0bf66777e20c533c90c7841d05c3a), [#5365](https://togithub.com/phpstan/phpstan/issues/5365), [#6551](https://togithub.com/phpstan/phpstan/issues/6551), [#7491](https://togithub.com/phpstan/phpstan/issues/7491), [#4004](https://togithub.com/phpstan/phpstan/issues/4004), [#2499](https://togithub.com/phpstan/phpstan/issues/2499) - MutatingScope - process ternary cond before getting type of the whole expression (https://github.com/phpstan/phpstan-src/commit/faba80560516dc2780ff014f36171e806a7b19c2) - Fix processing switch with complex case conditions (https://github.com/phpstan/phpstan-src/commit/f6b34f2ac86d2830f53ba51601067232ea1bf6d6), [#5326](https://togithub.com/phpstan/phpstan/issues/5326) - Fix ClassConstFetch Identical specification with Yoda conditions ([#2498](https://togithub.com/phpstan/phpstan-src/pull/2498)), [#9542](https://togithub.com/phpstan/phpstan/issues/9542), thanks [@herndlm](https://togithub.com/herndlm)! # Function signature fixes π€ - Update functionMap for ext-mongodb 1.16 ([#2473](https://togithub.com/phpstan/phpstan-src/pull/2473)), thanks [@alcaeus](https://togithub.com/alcaeus)! - Add false to the `db2_num_rows()` return type ([#2456](https://togithub.com/phpstan/phpstan-src/pull/2456)), thanks [@morozov](https://togithub.com/morozov)! - More precise `ignore_user_abort()` return type ([#2489](https://togithub.com/phpstan/phpstan-src/pull/2489)), thanks [@staabm](https://togithub.com/staabm)! # Internals π - Type projections, part 1: call-site variance in GenericObjectType ([#2471](https://togithub.com/phpstan/phpstan-src/pull/2471)), thanks [@jiripudil](https://togithub.com/jiripudil)! - Test PHP 8.3 ([#2486](https://togithub.com/phpstan/phpstan-src/pull/2486)) - Cleanup NodeScopeResolver ([#2499](https://togithub.com/phpstan/phpstan-src/pull/2499)), thanks [@staabm](https://togithub.com/staabm)!sebastianbergmann/phpunit (phpunit/phpunit)
### [`v10.2.3`](https://togithub.com/sebastianbergmann/phpunit/compare/10.2.2...10.2.3) [Compare Source](https://togithub.com/sebastianbergmann/phpunit/compare/10.2.2...10.2.3)Configuration
π Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
π¦ Automerge: Enabled.
β» Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
π» Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
Read more information about the use of Renovate Bot.