phpstan/phpdoc-parser (phpstan/phpdoc-parser)
### [`v1.24.5`](https://togithub.com/phpstan/phpdoc-parser/releases/tag/1.24.5)
[Compare Source](https://togithub.com/phpstan/phpdoc-parser/compare/1.24.4...1.24.5)
- [fedf211](http://github.com/phpstan/phpdoc-parser/commit/fedf211ff14ec8381c9bf5714e33a7a552dd1acc) - Fix
- [cb802d0](http://github.com/phpstan/phpdoc-parser/commit/cb802d05ae9fe2a3b0bca9268ed65431f5905ede) - Update Slevomat CS for testing
- [c7a1da4](http://github.com/phpstan/phpdoc-parser/commit/c7a1da402b761a30b4b0a902e3777460f11411fb) - Fix format-preserving printer for GenericTagValueNode without description
- [fb19066](http://github.com/phpstan/phpdoc-parser/commit/fb1906635bec16e60a680bbb42d480eaa98bc81b) - Fix
### [`v1.24.4`](https://togithub.com/phpstan/phpdoc-parser/releases/tag/1.24.4)
[Compare Source](https://togithub.com/phpstan/phpdoc-parser/compare/1.24.3...1.24.4)
- [6bd0c26](http://github.com/phpstan/phpdoc-parser/commit/6bd0c26f3786cd9b7c359675cb789e35a8e07496) - Git export-ignore phpstan-baseline.neon
- [58cdc73](http://github.com/phpstan/phpdoc-parser/commit/58cdc73125fc6075b7796d82ab75e20d0f3a2d41) - Update metcalfc/changelog-generator action to v4.2.0
- [37d7684](http://github.com/phpstan/phpdoc-parser/commit/37d7684e4a5465b0b2abbc8bc9c21974b5a5b4f1) - Update dessant/lock-threads action to v5
phpstan/phpstan (phpstan/phpstan)
### [`v1.10.50`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.50)
[Compare Source](https://togithub.com/phpstan/phpstan/compare/1.10.49...1.10.50)
# Improvements 🔧
- Update `nikic/php-parser` to 4.18.0 (https://github.com/phpstan/phpstan-src/commit/24f92cc2a69cbeecefb8e2093c6db41138cc9398)
# Bugfixes 🐛
- `VoidType` - accept `null` (https://github.com/phpstan/phpstan-src/commit/40c8fb2266f040158fb811ac13b21a3e179c022a), [#10291](https://togithub.com/phpstan/phpstan/issues/10291)
# Internals 🔍
- `InvalidPromotedPropertiesRule` - use `FunctionLike` as node type ([#2823](https://togithub.com/phpstan/phpstan-src/pull/2823)), thanks [@paulbalandan](https://togithub.com/paulbalandan)!
- Deduplicate inferred template type generalization logic (https://github.com/phpstan/phpstan-src/commit/39fe102d23c8aec32b8c21225152e2d835d224b2)
### [`v1.10.49`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.49)
[Compare Source](https://togithub.com/phpstan/phpstan/compare/1.10.48...1.10.49)
# Bleeding edge 🔪
- Do not generalize template types, except when in `GenericObjectType` ([#2818](https://togithub.com/phpstan/phpstan-src/pull/2818), [#2821](https://togithub.com/phpstan/phpstan-src/pull/2821))
- This fixes following **17 issues**: [#8166](https://togithub.com/phpstan/phpstan/issues/8166), [#8127](https://togithub.com/phpstan/phpstan/issues/8127), [#7944](https://togithub.com/phpstan/phpstan/issues/7944), [#7283](https://togithub.com/phpstan/phpstan/issues/7283), [#6653](https://togithub.com/phpstan/phpstan/issues/6653), [#6196](https://togithub.com/phpstan/phpstan/issues/6196), [#9084](https://togithub.com/phpstan/phpstan/issues/9084), [#8683](https://togithub.com/phpstan/phpstan/issues/8683), [#8074](https://togithub.com/phpstan/phpstan/issues/8074), [#7984](https://togithub.com/phpstan/phpstan/issues/7984), [#7301](https://togithub.com/phpstan/phpstan/issues/7301), [#7087](https://togithub.com/phpstan/phpstan/issues/7087), [#5594](https://togithub.com/phpstan/phpstan/issues/5594), [#5592](https://togithub.com/phpstan/phpstan/issues/5592), [#9472](https://togithub.com/phpstan/phpstan/issues/9472), [#9764](https://togithub.com/phpstan/phpstan/issues/9764), [#10092](https://togithub.com/phpstan/phpstan/issues/10092)
*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 🔧
- Transform `void` return to `null` after call ([#2778](https://togithub.com/phpstan/phpstan-src/pull/2778)), [#6720](https://togithub.com/phpstan/phpstan/issues/6720), thanks [@herndlm](https://togithub.com/herndlm)!
# Bugfixes 🐛
- Fix `count(list)` regression ([#2813](https://togithub.com/phpstan/phpstan-src/pull/2813)), thanks [@staabm](https://togithub.com/staabm)!
- Make AcceptsResult reasons unique (https://github.com/phpstan/phpstan-src/commit/01aabcff33c9f8cb0f6a04469a75cb3c47a014a2)
# Function signature fixes 🤖
- Make `SimpleXMLElement` method return types benevolent (when they return `static|null`) (https://github.com/phpstan/phpstan-src/commit/fb76c9f7d324c854bd2da8bd542b2de6337410e4)
### [`v1.10.48`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.48)
[Compare Source](https://togithub.com/phpstan/phpstan/compare/1.10.47...1.10.48)
# Bleeding edge 🔪
- TooWideMethodReturnTypehintRule - always report for final methods (https://github.com/phpstan/phpstan-src/commit/c30e9a484c8245b8126cd63444607ca74d2af761)
- LogicalXorConstantConditionRule (https://github.com/phpstan/phpstan-src/commit/3a12724fd636b1bcf36c22b36e8f765d97150895, https://github.com/phpstan/phpstan-src/commit/3b011f6524254dad0f16840fdcfdbe7421548617), [#7539](https://togithub.com/phpstan/phpstan/issues/7539)
- NoopRule - report top-level `xor` because that's probably not what the user intended to do (https://github.com/phpstan/phpstan-src/commit/a1fffb3346e09f1e8e8d987d4282263295a55142), [#10267](https://togithub.com/phpstan/phpstan/issues/10267)
- Report unused results of `and` and `or` (https://github.com/phpstan/phpstan-src/commit/1d8fff637d70a9e9ed3f11dee5d61b9f796cbf1a)
- Report unused result of ternary (https://github.com/phpstan/phpstan-src/commit/9664f7a9d2223c07e750f0dfc949c3accfa6b65e)
- Report unused results of `&&` and `||` (https://github.com/phpstan/phpstan-src/commit/cf2c8bbd9ebd2ebe300dbd310e136ad603d7def3)
*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 🔧
- Narrow `ReflectionEnum::getName()` after `ReflectionEnum::isBacked()` ([#2806](https://togithub.com/phpstan/phpstan-src/pull/2806)), [#10192](https://togithub.com/phpstan/phpstan/issues/10192), thanks [@franmomu](https://togithub.com/franmomu)!
- Any variable can exist after include/require (https://github.com/phpstan/phpstan-src/commit/0a3a968b86773a54e102baee4f63d39a556c97fc), [https://github.com/phpstan/phpstan/discussions/10252](https://togithub.com/phpstan/phpstan/discussions/10252)
# Bugfixes 🐛
- ResolvedPhpDocBlock: fix parent return tag merging ([#2803](https://togithub.com/phpstan/phpstan-src/pull/2803)), [#6462](https://togithub.com/phpstan/phpstan/issues/6462), [#10208](https://togithub.com/phpstan/phpstan/issues/10208), [#3580](https://togithub.com/phpstan/phpstan/issues/3580), [#4396](https://togithub.com/phpstan/phpstan/issues/4396), thanks [@janedbal](https://togithub.com/janedbal)!
- Merge in-foreach scope even for non-iterable expr (https://github.com/phpstan/phpstan-src/commit/942afbf060419bae5977651bff3102b63ea42206)
- TooWideMethodReturnTypehintRule - never report in a trait (https://github.com/phpstan/phpstan-src/commit/e0eb85028d55ebab32be614631639c142b37daa6)
- Narrowing list type with `count()` results in type loss ([#2811](https://togithub.com/phpstan/phpstan-src/pull/2811)), [#10264](https://togithub.com/phpstan/phpstan/issues/10264), thanks [@staabm](https://togithub.com/staabm)!
- Fix LevelsTestCase for PHPUnit 10 (https://github.com/phpstan/phpstan-src/commit/fa5d5f958b051b088fb0824d377a091273d6436c)
# Function signature fixes 🤖
- Update return type information for `SimpleXMLElement::addChild` ([#2808](https://togithub.com/phpstan/phpstan-src/pull/2808)), [#10269](https://togithub.com/phpstan/phpstan/issues/10269), thanks [@DaveLiddament](https://togithub.com/DaveLiddament)!
### [`v1.10.47`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.47)
[Compare Source](https://togithub.com/phpstan/phpstan/compare/1.10.46...1.10.47)
# Improvements 🔧
- `ExpressionTypeResolverExtension` ([#2789](https://togithub.com/phpstan/phpstan-src/pull/2789)), thanks [@janedbal](https://togithub.com/janedbal)!
- See: [`ExpressionTypeResolverExtension` in API Reference](https://apiref.phpstan.org/1.11.x/PHPStan.Type.ExpressionTypeResolverExtension.html)
- This can be used to override inferred types by Scope if existing extension points like DynamicMethodReturnTypeExtension are not sufficient
# Bugfixes 🐛
- `array_filter` - handle error types ([#2794](https://togithub.com/phpstan/phpstan-src/pull/2794)), [#10189](https://togithub.com/phpstan/phpstan/issues/10189), thanks [@mglaman](https://togithub.com/mglaman)!
- Fix variable certainty after `if ($var ?? null)` (https://github.com/phpstan/phpstan-src/commit/c2ba3415a8876310289ea0c4aa2976f20b5912f3), [#10224](https://togithub.com/phpstan/phpstan/issues/10224)
- Fix trait PHPDocs when checking overriden methods (https://github.com/phpstan/phpstan-src/commit/4c4f22f131561795c5f2c6e7627fff2a9aa64b92), [#10184](https://togithub.com/phpstan/phpstan/issues/10184)
# Function signature fixes 🤖
- Fix parameter type for `Redis::hMset` ([#2793](https://togithub.com/phpstan/phpstan-src/pull/2793)), thanks [@Vaalyn](https://togithub.com/Vaalyn)!
### [`v1.10.46`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.46)
[Compare Source](https://togithub.com/phpstan/phpstan/compare/1.10.45...1.10.46)
# Improvements 🔧
- Improved `isset()` and ternary operator handling ([#2710](https://togithub.com/phpstan/phpstan-src/pull/2710)), [#3632](https://togithub.com/phpstan/phpstan/issues/3632), [#8190](https://togithub.com/phpstan/phpstan/issues/8190), [#8366](https://togithub.com/phpstan/phpstan/issues/8366), [#8659](https://togithub.com/phpstan/phpstan/issues/8659), [#9580](https://togithub.com/phpstan/phpstan/issues/9580), [#10064](https://togithub.com/phpstan/phpstan/issues/10064), [#10088](https://togithub.com/phpstan/phpstan/issues/10088), thanks [@staabm](https://togithub.com/staabm)!
- Optimize enums with many cases (https://github.com/phpstan/phpstan-src/commit/b17d5290766ca3a4d413dbfe9e020c9fef4700c3)
# Bugfixes 🐛
- Fix namespace of named type in class constant native type by patching PHP-Parser (https://github.com/phpstan/phpstan-src/commit/8234dc0b34c0748f6caa3be4130411562fb03f2c), [#10212](https://togithub.com/phpstan/phpstan/issues/10212)
- Do not create conditional expression for the same variable (https://github.com/phpstan/phpstan-src/commit/aec04068119f765ed7181ea737c20cea6916591d)
- It's okay to have always-throwing expression in arrow function (https://github.com/phpstan/phpstan-src/commit/758e5f118ac5781d597707666104511258fcaf67), [#7890](https://togithub.com/phpstan/phpstan/issues/7890)
# Internals 🔍
- Use dedicated Type methods over `isSuperTypeOf()` ([#2788](https://togithub.com/phpstan/phpstan-src/pull/2788)), thanks [@staabm](https://togithub.com/staabm)!
### [`v1.10.45`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.45)
[Compare Source](https://togithub.com/phpstan/phpstan/compare/1.10.44...1.10.45)
# Improvements 🔧
- Introduce InvalidTypesInUnionRule ([#2763](https://togithub.com/phpstan/phpstan-src/pull/2763)), [#9185](https://togithub.com/phpstan/phpstan/issues/9185), thanks [@paulbalandan](https://togithub.com/paulbalandan)!
- Implement DeclareStrictTypesRule ([#2766](https://togithub.com/phpstan/phpstan-src/pull/2759)), [#6195](https://togithub.com/phpstan/phpstan/issues/6195), thanks [@staabm](https://togithub.com/staabm)!
- Narrow `enum_exists()` arg to UnitEnum ([#2764](https://togithub.com/phpstan/phpstan-src/pull/2764)), [#10169](https://togithub.com/phpstan/phpstan/issues/10169), thanks [@staabm](https://togithub.com/staabm)!
# Bugfixes 🐛
- Use dedicated Type methods over `isSuperTypeOf()` ([#2772](https://togithub.com/phpstan/phpstan-src/pull/2772), [#2787](https://togithub.com/phpstan/phpstan-src/pull/2787)), [#9778](https://togithub.com/phpstan/phpstan/issues/9778), [#9723](https://togithub.com/phpstan/phpstan/issues/9723), [#6407](https://togithub.com/phpstan/phpstan/issues/6407), thanks [@staabm](https://togithub.com/staabm)!
- Optimize match expression with many conditions (https://github.com/phpstan/phpstan-src/commit/c238fe77f7041dd486c9c0f5ee582fee75bdbadd)
- `in_array` - simulate Identical/Equal handling from TypeSpecifier for literal arrays (https://github.com/phpstan/phpstan-src/commit/0177e332f27c7cf7d710c1a535ddcdfd019e9b89), [#10201](https://togithub.com/phpstan/phpstan/issues/10201)
# Function signature fixes 🤖
- Fix optional 4th parameter for `Redis::restore` ([#2765](https://togithub.com/phpstan/phpstan-src/pull/2765)), thanks [@Vaalyn](https://togithub.com/Vaalyn)!
- Put `str_increment` and `str_decrement` into functionMap ([#2777](https://togithub.com/phpstan/phpstan-src/pull/2777)), thanks [@zonuexe](https://togithub.com/zonuexe)!
- Update functionMap ([#2783](https://togithub.com/phpstan/phpstan-src/pull/2783)), thanks [@zonuexe](https://togithub.com/zonuexe)!
- Update functionMap for `ext-mongodb` 1.17 ([#2768](https://togithub.com/phpstan/phpstan-src/pull/2768)), thanks [@alcaeus](https://togithub.com/alcaeus)!
# Internals 🔍
- Replace with `in_array()` instead of redundant property ([#2770](https://togithub.com/phpstan/phpstan-src/pull/2770)), thanks [@zonuexe](https://togithub.com/zonuexe)!
- Fix typo in rule name: `MethodVisibitiliyInInterfaceRule` ([#2781](https://togithub.com/phpstan/phpstan-src/pull/2781)), thanks [@staabm](https://togithub.com/staabm)!
- Make extensions that return default types simply `return null` ([#2782](https://togithub.com/phpstan/phpstan-src/pull/2782)), thanks [@zonuexe](https://togithub.com/zonuexe)!
- Simplify InArrayFunctionTypeSpecifyingExtension ([#2785](https://togithub.com/phpstan/phpstan-src/pull/2785)), thanks [@staabm](https://togithub.com/staabm)!
### [`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 (https://github.com/phpstan/phpstan-src/commit/02b2e3d0885528724a1af91a1758b8f36e2167f4)
- 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` 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 (https://github.com/phpstan/phpstan-src/commit/7765768fd54617616107f76489702d8bcac3d4d2), [#10165](https://togithub.com/phpstan/phpstan/issues/10165)
- Apply same fix in MethodSignatureRule from https://github.com/phpstan/phpstan-src/commit/be2b4152837ce05273c55937b8a56daa19cb4d81 (https://github.com/phpstan/phpstan-src/commit/85fcd5f35e5418ce78b7a0734facf11d079fe160), [#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)!
symfony/console (symfony/console)
### [`v6.4.1`](https://togithub.com/symfony/console/releases/tag/v6.4.1)
[Compare Source](https://togithub.com/symfony/console/compare/v6.4.0...v6.4.1)
**Changelog** (https://github.com/symfony/console/compare/v6.4.0...v6.4.1)
- no significant changes
### [`v6.4.0`](https://togithub.com/symfony/console/compare/v6.3.9...v6.4.0)
[Compare Source](https://togithub.com/symfony/console/compare/v6.3.9...v6.4.0)
### [`v6.3.9`](https://togithub.com/symfony/console/releases/tag/v6.3.9)
[Compare Source](https://togithub.com/symfony/console/compare/v6.3.8...v6.3.9)
**Changelog** (https://github.com/symfony/console/compare/v6.3.8...v6.3.9)
- no significant changes
symfony/finder (symfony/finder)
### [`v6.4.0`](https://togithub.com/symfony/finder/releases/tag/v6.4.0)
[Compare Source](https://togithub.com/symfony/finder/compare/v6.3.5...v6.4.0)
**Changelog** (https://github.com/symfony/finder/compare/v6.4.0-RC2...v6.4.0)
- no significant changes
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 if that's undesired.
[ ] If you want to rebase/retry this PR, check this box
This PR has been generated by Mend Renovate. View repository job log here.
This PR contains the following updates:
1.24.3
->1.24.5
1.10.43
->1.10.50
6.3.8
->6.4.1
6.3.5
->6.4.0
Release Notes
phpstan/phpdoc-parser (phpstan/phpdoc-parser)
### [`v1.24.5`](https://togithub.com/phpstan/phpdoc-parser/releases/tag/1.24.5) [Compare Source](https://togithub.com/phpstan/phpdoc-parser/compare/1.24.4...1.24.5) - [fedf211](http://github.com/phpstan/phpdoc-parser/commit/fedf211ff14ec8381c9bf5714e33a7a552dd1acc) - Fix - [cb802d0](http://github.com/phpstan/phpdoc-parser/commit/cb802d05ae9fe2a3b0bca9268ed65431f5905ede) - Update Slevomat CS for testing - [c7a1da4](http://github.com/phpstan/phpdoc-parser/commit/c7a1da402b761a30b4b0a902e3777460f11411fb) - Fix format-preserving printer for GenericTagValueNode without description - [fb19066](http://github.com/phpstan/phpdoc-parser/commit/fb1906635bec16e60a680bbb42d480eaa98bc81b) - Fix ### [`v1.24.4`](https://togithub.com/phpstan/phpdoc-parser/releases/tag/1.24.4) [Compare Source](https://togithub.com/phpstan/phpdoc-parser/compare/1.24.3...1.24.4) - [6bd0c26](http://github.com/phpstan/phpdoc-parser/commit/6bd0c26f3786cd9b7c359675cb789e35a8e07496) - Git export-ignore phpstan-baseline.neon - [58cdc73](http://github.com/phpstan/phpdoc-parser/commit/58cdc73125fc6075b7796d82ab75e20d0f3a2d41) - Update metcalfc/changelog-generator action to v4.2.0 - [37d7684](http://github.com/phpstan/phpdoc-parser/commit/37d7684e4a5465b0b2abbc8bc9c21974b5a5b4f1) - Update dessant/lock-threads action to v5phpstan/phpstan (phpstan/phpstan)
### [`v1.10.50`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.50) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.10.49...1.10.50) # Improvements 🔧 - Update `nikic/php-parser` to 4.18.0 (https://github.com/phpstan/phpstan-src/commit/24f92cc2a69cbeecefb8e2093c6db41138cc9398) # Bugfixes 🐛 - `VoidType` - accept `null` (https://github.com/phpstan/phpstan-src/commit/40c8fb2266f040158fb811ac13b21a3e179c022a), [#10291](https://togithub.com/phpstan/phpstan/issues/10291) # Internals 🔍 - `InvalidPromotedPropertiesRule` - use `FunctionLike` as node type ([#2823](https://togithub.com/phpstan/phpstan-src/pull/2823)), thanks [@paulbalandan](https://togithub.com/paulbalandan)! - Deduplicate inferred template type generalization logic (https://github.com/phpstan/phpstan-src/commit/39fe102d23c8aec32b8c21225152e2d835d224b2) ### [`v1.10.49`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.49) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.10.48...1.10.49) # Bleeding edge 🔪 - Do not generalize template types, except when in `GenericObjectType` ([#2818](https://togithub.com/phpstan/phpstan-src/pull/2818), [#2821](https://togithub.com/phpstan/phpstan-src/pull/2821)) - This fixes following **17 issues**: [#8166](https://togithub.com/phpstan/phpstan/issues/8166), [#8127](https://togithub.com/phpstan/phpstan/issues/8127), [#7944](https://togithub.com/phpstan/phpstan/issues/7944), [#7283](https://togithub.com/phpstan/phpstan/issues/7283), [#6653](https://togithub.com/phpstan/phpstan/issues/6653), [#6196](https://togithub.com/phpstan/phpstan/issues/6196), [#9084](https://togithub.com/phpstan/phpstan/issues/9084), [#8683](https://togithub.com/phpstan/phpstan/issues/8683), [#8074](https://togithub.com/phpstan/phpstan/issues/8074), [#7984](https://togithub.com/phpstan/phpstan/issues/7984), [#7301](https://togithub.com/phpstan/phpstan/issues/7301), [#7087](https://togithub.com/phpstan/phpstan/issues/7087), [#5594](https://togithub.com/phpstan/phpstan/issues/5594), [#5592](https://togithub.com/phpstan/phpstan/issues/5592), [#9472](https://togithub.com/phpstan/phpstan/issues/9472), [#9764](https://togithub.com/phpstan/phpstan/issues/9764), [#10092](https://togithub.com/phpstan/phpstan/issues/10092) *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 🔧 - Transform `void` return to `null` after call ([#2778](https://togithub.com/phpstan/phpstan-src/pull/2778)), [#6720](https://togithub.com/phpstan/phpstan/issues/6720), thanks [@herndlm](https://togithub.com/herndlm)! # Bugfixes 🐛 - Fix `count(list)` regression ([#2813](https://togithub.com/phpstan/phpstan-src/pull/2813)), thanks [@staabm](https://togithub.com/staabm)! - Make AcceptsResult reasons unique (https://github.com/phpstan/phpstan-src/commit/01aabcff33c9f8cb0f6a04469a75cb3c47a014a2) # Function signature fixes 🤖 - Make `SimpleXMLElement` method return types benevolent (when they return `static|null`) (https://github.com/phpstan/phpstan-src/commit/fb76c9f7d324c854bd2da8bd542b2de6337410e4) ### [`v1.10.48`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.48) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.10.47...1.10.48) # Bleeding edge 🔪 - TooWideMethodReturnTypehintRule - always report for final methods (https://github.com/phpstan/phpstan-src/commit/c30e9a484c8245b8126cd63444607ca74d2af761) - LogicalXorConstantConditionRule (https://github.com/phpstan/phpstan-src/commit/3a12724fd636b1bcf36c22b36e8f765d97150895, https://github.com/phpstan/phpstan-src/commit/3b011f6524254dad0f16840fdcfdbe7421548617), [#7539](https://togithub.com/phpstan/phpstan/issues/7539) - NoopRule - report top-level `xor` because that's probably not what the user intended to do (https://github.com/phpstan/phpstan-src/commit/a1fffb3346e09f1e8e8d987d4282263295a55142), [#10267](https://togithub.com/phpstan/phpstan/issues/10267) - Report unused results of `and` and `or` (https://github.com/phpstan/phpstan-src/commit/1d8fff637d70a9e9ed3f11dee5d61b9f796cbf1a) - Report unused result of ternary (https://github.com/phpstan/phpstan-src/commit/9664f7a9d2223c07e750f0dfc949c3accfa6b65e) - Report unused results of `&&` and `||` (https://github.com/phpstan/phpstan-src/commit/cf2c8bbd9ebd2ebe300dbd310e136ad603d7def3) *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 🔧 - Narrow `ReflectionEnum::getName()` after `ReflectionEnum::isBacked()` ([#2806](https://togithub.com/phpstan/phpstan-src/pull/2806)), [#10192](https://togithub.com/phpstan/phpstan/issues/10192), thanks [@franmomu](https://togithub.com/franmomu)! - Any variable can exist after include/require (https://github.com/phpstan/phpstan-src/commit/0a3a968b86773a54e102baee4f63d39a556c97fc), [https://github.com/phpstan/phpstan/discussions/10252](https://togithub.com/phpstan/phpstan/discussions/10252) # Bugfixes 🐛 - ResolvedPhpDocBlock: fix parent return tag merging ([#2803](https://togithub.com/phpstan/phpstan-src/pull/2803)), [#6462](https://togithub.com/phpstan/phpstan/issues/6462), [#10208](https://togithub.com/phpstan/phpstan/issues/10208), [#3580](https://togithub.com/phpstan/phpstan/issues/3580), [#4396](https://togithub.com/phpstan/phpstan/issues/4396), thanks [@janedbal](https://togithub.com/janedbal)! - Merge in-foreach scope even for non-iterable expr (https://github.com/phpstan/phpstan-src/commit/942afbf060419bae5977651bff3102b63ea42206) - TooWideMethodReturnTypehintRule - never report in a trait (https://github.com/phpstan/phpstan-src/commit/e0eb85028d55ebab32be614631639c142b37daa6) - Narrowing list type with `count()` results in type loss ([#2811](https://togithub.com/phpstan/phpstan-src/pull/2811)), [#10264](https://togithub.com/phpstan/phpstan/issues/10264), thanks [@staabm](https://togithub.com/staabm)! - Fix LevelsTestCase for PHPUnit 10 (https://github.com/phpstan/phpstan-src/commit/fa5d5f958b051b088fb0824d377a091273d6436c) # Function signature fixes 🤖 - Update return type information for `SimpleXMLElement::addChild` ([#2808](https://togithub.com/phpstan/phpstan-src/pull/2808)), [#10269](https://togithub.com/phpstan/phpstan/issues/10269), thanks [@DaveLiddament](https://togithub.com/DaveLiddament)! ### [`v1.10.47`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.47) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.10.46...1.10.47) # Improvements 🔧 - `ExpressionTypeResolverExtension` ([#2789](https://togithub.com/phpstan/phpstan-src/pull/2789)), thanks [@janedbal](https://togithub.com/janedbal)! - See: [`ExpressionTypeResolverExtension` in API Reference](https://apiref.phpstan.org/1.11.x/PHPStan.Type.ExpressionTypeResolverExtension.html) - This can be used to override inferred types by Scope if existing extension points like DynamicMethodReturnTypeExtension are not sufficient # Bugfixes 🐛 - `array_filter` - handle error types ([#2794](https://togithub.com/phpstan/phpstan-src/pull/2794)), [#10189](https://togithub.com/phpstan/phpstan/issues/10189), thanks [@mglaman](https://togithub.com/mglaman)! - Fix variable certainty after `if ($var ?? null)` (https://github.com/phpstan/phpstan-src/commit/c2ba3415a8876310289ea0c4aa2976f20b5912f3), [#10224](https://togithub.com/phpstan/phpstan/issues/10224) - Fix trait PHPDocs when checking overriden methods (https://github.com/phpstan/phpstan-src/commit/4c4f22f131561795c5f2c6e7627fff2a9aa64b92), [#10184](https://togithub.com/phpstan/phpstan/issues/10184) # Function signature fixes 🤖 - Fix parameter type for `Redis::hMset` ([#2793](https://togithub.com/phpstan/phpstan-src/pull/2793)), thanks [@Vaalyn](https://togithub.com/Vaalyn)! ### [`v1.10.46`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.46) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.10.45...1.10.46) # Improvements 🔧 - Improved `isset()` and ternary operator handling ([#2710](https://togithub.com/phpstan/phpstan-src/pull/2710)), [#3632](https://togithub.com/phpstan/phpstan/issues/3632), [#8190](https://togithub.com/phpstan/phpstan/issues/8190), [#8366](https://togithub.com/phpstan/phpstan/issues/8366), [#8659](https://togithub.com/phpstan/phpstan/issues/8659), [#9580](https://togithub.com/phpstan/phpstan/issues/9580), [#10064](https://togithub.com/phpstan/phpstan/issues/10064), [#10088](https://togithub.com/phpstan/phpstan/issues/10088), thanks [@staabm](https://togithub.com/staabm)! - Optimize enums with many cases (https://github.com/phpstan/phpstan-src/commit/b17d5290766ca3a4d413dbfe9e020c9fef4700c3) # Bugfixes 🐛 - Fix namespace of named type in class constant native type by patching PHP-Parser (https://github.com/phpstan/phpstan-src/commit/8234dc0b34c0748f6caa3be4130411562fb03f2c), [#10212](https://togithub.com/phpstan/phpstan/issues/10212) - Do not create conditional expression for the same variable (https://github.com/phpstan/phpstan-src/commit/aec04068119f765ed7181ea737c20cea6916591d) - It's okay to have always-throwing expression in arrow function (https://github.com/phpstan/phpstan-src/commit/758e5f118ac5781d597707666104511258fcaf67), [#7890](https://togithub.com/phpstan/phpstan/issues/7890) # Internals 🔍 - Use dedicated Type methods over `isSuperTypeOf()` ([#2788](https://togithub.com/phpstan/phpstan-src/pull/2788)), thanks [@staabm](https://togithub.com/staabm)! ### [`v1.10.45`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.45) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.10.44...1.10.45) # Improvements 🔧 - Introduce InvalidTypesInUnionRule ([#2763](https://togithub.com/phpstan/phpstan-src/pull/2763)), [#9185](https://togithub.com/phpstan/phpstan/issues/9185), thanks [@paulbalandan](https://togithub.com/paulbalandan)! - Implement DeclareStrictTypesRule ([#2766](https://togithub.com/phpstan/phpstan-src/pull/2759)), [#6195](https://togithub.com/phpstan/phpstan/issues/6195), thanks [@staabm](https://togithub.com/staabm)! - Narrow `enum_exists()` arg to UnitEnum ([#2764](https://togithub.com/phpstan/phpstan-src/pull/2764)), [#10169](https://togithub.com/phpstan/phpstan/issues/10169), thanks [@staabm](https://togithub.com/staabm)! # Bugfixes 🐛 - Use dedicated Type methods over `isSuperTypeOf()` ([#2772](https://togithub.com/phpstan/phpstan-src/pull/2772), [#2787](https://togithub.com/phpstan/phpstan-src/pull/2787)), [#9778](https://togithub.com/phpstan/phpstan/issues/9778), [#9723](https://togithub.com/phpstan/phpstan/issues/9723), [#6407](https://togithub.com/phpstan/phpstan/issues/6407), thanks [@staabm](https://togithub.com/staabm)! - Optimize match expression with many conditions (https://github.com/phpstan/phpstan-src/commit/c238fe77f7041dd486c9c0f5ee582fee75bdbadd) - `in_array` - simulate Identical/Equal handling from TypeSpecifier for literal arrays (https://github.com/phpstan/phpstan-src/commit/0177e332f27c7cf7d710c1a535ddcdfd019e9b89), [#10201](https://togithub.com/phpstan/phpstan/issues/10201) # Function signature fixes 🤖 - Fix optional 4th parameter for `Redis::restore` ([#2765](https://togithub.com/phpstan/phpstan-src/pull/2765)), thanks [@Vaalyn](https://togithub.com/Vaalyn)! - Put `str_increment` and `str_decrement` into functionMap ([#2777](https://togithub.com/phpstan/phpstan-src/pull/2777)), thanks [@zonuexe](https://togithub.com/zonuexe)! - Update functionMap ([#2783](https://togithub.com/phpstan/phpstan-src/pull/2783)), thanks [@zonuexe](https://togithub.com/zonuexe)! - Update functionMap for `ext-mongodb` 1.17 ([#2768](https://togithub.com/phpstan/phpstan-src/pull/2768)), thanks [@alcaeus](https://togithub.com/alcaeus)! # Internals 🔍 - Replace with `in_array()` instead of redundant property ([#2770](https://togithub.com/phpstan/phpstan-src/pull/2770)), thanks [@zonuexe](https://togithub.com/zonuexe)! - Fix typo in rule name: `MethodVisibitiliyInInterfaceRule` ([#2781](https://togithub.com/phpstan/phpstan-src/pull/2781)), thanks [@staabm](https://togithub.com/staabm)! - Make extensions that return default types simply `return null` ([#2782](https://togithub.com/phpstan/phpstan-src/pull/2782)), thanks [@zonuexe](https://togithub.com/zonuexe)! - Simplify InArrayFunctionTypeSpecifyingExtension ([#2785](https://togithub.com/phpstan/phpstan-src/pull/2785)), thanks [@staabm](https://togithub.com/staabm)! ### [`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 (https://github.com/phpstan/phpstan-src/commit/02b2e3d0885528724a1af91a1758b8f36e2167f4) - 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 `listsymfony/console (symfony/console)
### [`v6.4.1`](https://togithub.com/symfony/console/releases/tag/v6.4.1) [Compare Source](https://togithub.com/symfony/console/compare/v6.4.0...v6.4.1) **Changelog** (https://github.com/symfony/console/compare/v6.4.0...v6.4.1) - no significant changes ### [`v6.4.0`](https://togithub.com/symfony/console/compare/v6.3.9...v6.4.0) [Compare Source](https://togithub.com/symfony/console/compare/v6.3.9...v6.4.0) ### [`v6.3.9`](https://togithub.com/symfony/console/releases/tag/v6.3.9) [Compare Source](https://togithub.com/symfony/console/compare/v6.3.8...v6.3.9) **Changelog** (https://github.com/symfony/console/compare/v6.3.8...v6.3.9) - no significant changessymfony/finder (symfony/finder)
### [`v6.4.0`](https://togithub.com/symfony/finder/releases/tag/v6.4.0) [Compare Source](https://togithub.com/symfony/finder/compare/v6.3.5...v6.4.0) **Changelog** (https://github.com/symfony/finder/compare/v6.4.0-RC2...v6.4.0) - no significant changesConfiguration
📅 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 if that's undesired.
This PR has been generated by Mend Renovate. View repository job log here.