eliashaeussler / composer-update-check

📦 Composer Plugin to check outdated packages, based on their requirements
https://composer-update-check.elias-haeussler.de/
GNU General Public License v3.0
2 stars 2 forks source link

[TASK] Update phpstan/phpstan to v1.10.57 - autoclosed #121

Closed renovate[bot] closed 10 months ago

renovate[bot] commented 1 year ago

Mend Renovate

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
phpstan/phpstan 1.9.4 -> 1.10.57 age adoption passing confidence

Release Notes

phpstan/phpstan (phpstan/phpstan) ### [`v1.10.57`](https://togithub.com/phpstan/phpstan/compare/1.10.56...1.10.57) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.10.56...1.10.57) ### [`v1.10.56`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.56) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.10.55...1.10.56) # Major new feature 🚀 - New PHPDoc tags: `@phpstan-require-extends`, `@phpstan-require-implements`, [#​10302](https://togithub.com/phpstan/phpstan/issues/10302), [#​9899](https://togithub.com/phpstan/phpstan/issues/9899), [#​8550](https://togithub.com/phpstan/phpstan/issues/8550), thanks [@​staabm](https://togithub.com/staabm)! - Learn more: [Making `@property` PHPDoc above interfaces work on PHP 8.2+](https://phpstan.org/blog/solving-phpstan-access-to-undefined-property#making-%40property-phpdoc-above-interfaces-work-on-php-8.2%2B) - [Enforcing class inheritance for interfaces and traits](https://phpstan.org/writing-php-code/phpdocs-basics#enforcing-class-inheritance-for-interfaces-and-traits) - [Enforcing implementing an interface for traits](https://phpstan.org/writing-php-code/phpdocs-basics#enforcing-implementing-an-interface-for-traits) - Development of this feature was kindly sponsored by [Pixel & Tonic](https://pixelandtonic.com/), the team behind [Craft CMS](https://craftcms.com/) # Improvements 🔧 - Scope - function call stack includes parameters too (https://github.com/phpstan/phpstan-src/commit/b87e5c4c7e33a91c61341f0335a221c32df603b2), [https://github.com/phpstan/phpstan-deprecation-rules/issues/107](https://togithub.com/phpstan/phpstan-deprecation-rules/issues/107) # Bugfixes 🐛 - Process `match` arm condition before analysing the body (https://github.com/phpstan/phpstan-src/commit/2b74aa85b87e85bbc2398b96b1bff07234b1f791), [#​10418](https://togithub.com/phpstan/phpstan/issues/10418) # Function signature fixes 🤖 - Fix transliterator function maps ([#​2862](https://togithub.com/phpstan/phpstan-src/pull/2862)), thanks [@​PrinsFrank](https://togithub.com/PrinsFrank)! - Fix duplicate array key `Yaf_Response_Http::__clone` ([#​2863](https://togithub.com/phpstan/phpstan-src/pull/2863)), thanks [@​PrinsFrank](https://togithub.com/PrinsFrank)! - Add array shape for `transliterator::listIDs` return type ([#​2865](https://togithub.com/phpstan/phpstan-src/pull/2865)), thanks [@​PrinsFrank](https://togithub.com/PrinsFrank)! - `strtok()` always returns a `non-empty-string` when it does not return false ([#​2869](https://togithub.com/phpstan/phpstan-src/pull/2869)), thanks [@​staabm](https://togithub.com/staabm)! # Internals 🔍 - Prevent repetative calls to `Type::getConstantArrays()` ([#​2864](https://togithub.com/phpstan/phpstan-src/pull/2864)), thanks [@​staabm](https://togithub.com/staabm)! - Remove redundant condition in ParametersAcceptorSelector ([#​2867](https://togithub.com/phpstan/phpstan-src/pull/2867)), thanks [@​mad-briller](https://togithub.com/mad-briller)! - Simplify default return path in extensions ([#​2868](https://togithub.com/phpstan/phpstan-src/pull/2868)), thanks [@​staabm](https://togithub.com/staabm)! - Reduce unnecessary calls to `Scope::getFunctionType()` ([#​2872](https://togithub.com/phpstan/phpstan-src/pull/2872)), thanks [@​staabm](https://togithub.com/staabm)! ### [`v1.10.55`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.55) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.10.54...1.10.55) # Improvements 🔧 - PHPDoc tag `@phpstan-ignore-next-line` works for first line below the PHPDoc even in bleeding edge (https://github.com/phpstan/phpstan-src/commit/8b6260c21bacbfd653d26b9a8abef7996fd3fe46), [#​10383](https://togithub.com/phpstan/phpstan/issues/10383), [https://github.com/phpstan/phpstan/discussions/10374](https://togithub.com/phpstan/phpstan/discussions/10374) - Add `open-resource` type (https://github.com/phpstan/phpstan-src/commit/bbd9a68478abbc500b6398968cc85d0d1ae8d3eb), [#​10399](https://togithub.com/phpstan/phpstan/issues/10399) - Optimize repeated container creation in tests ([#​2860](https://togithub.com/phpstan/phpstan-src/pull/2860)), thanks [@​schlndh](https://togithub.com/schlndh)! - Try to prevent error with PHP-Parser 5 when running PHPUnit tests (https://github.com/phpstan/phpstan-src/commit/9dac90dfd5fc809dd84fdac0532ecd51c6ae66bf), [#​10401](https://togithub.com/phpstan/phpstan/issues/10401), thanks [@​zonuexe](https://togithub.com/zonuexe)! # Bugfixes 🐛 - Fix mixing property and param attributes on promoted property ([#​2825](https://togithub.com/phpstan/phpstan-src/pull/2825)), [#​10385](https://togithub.com/phpstan/phpstan/issues/10385) - Fix detection of shadowed trait methods (https://github.com/phpstan/phpstan-src/commit/22700511d91b748240da0ac8b697f2ab409aad21), [#​10377](https://togithub.com/phpstan/phpstan/issues/10377) - Fix int-range return type for range() ([#​2792](https://togithub.com/phpstan/phpstan-src/pull/2792)), [#​10213](https://togithub.com/phpstan/phpstan/issues/10213), [#​9573](https://togithub.com/phpstan/phpstan/issues/9573), thanks [@​dantleech](https://togithub.com/dantleech)! # Internals 🔍 - Remove unused DirectClassReflectionExtensionRegistryProvider ([#​2857](https://togithub.com/phpstan/phpstan-src/pull/2857)), thanks [@​staabm](https://togithub.com/staabm)! - Plumbing for `@phpstan-require-extends` and `@phpstan-require-implements` ([#​2856](https://togithub.com/phpstan/phpstan-src/pull/2856)), thanks [@​staabm](https://togithub.com/staabm)! - `Scope::getFunctionCallStack()` (https://github.com/phpstan/phpstan-src/commit/9be137675ebc41be5c9c7c230f96cab4dbf1f08e), [https://github.com/phpstan/phpstan-deprecation-rules/issues/106](https://togithub.com/phpstan/phpstan-deprecation-rules/issues/106) ### [`v1.10.54`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.54) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.10.53...1.10.54) # Bleeding edge 🔪 - Revert "ParamAttributesRule - promoted property attribute needs to target both parameters and properties" (https://github.com/phpstan/phpstan-src/commit/02f66df2a2997ad39ee25c92b6a7f7102f09514f), [#​10385](https://togithub.com/phpstan/phpstan/issues/10385) - See PHP internals discussion: https://externals.io/message/111942#112021 *If you want to see the shape of things to come and adopt bleeding edge features early, you can include this config file in your project's `phpstan.neon`:* includes: - vendor/phpstan/phpstan/conf/bleedingEdge.neon *Of course, there are no backwards compatibility guarantees when you include this file. The behaviour and reported errors can change in minor versions with this file included. [Learn more](https://phpstan.org/blog/what-is-bleeding-edge)* # Improvements 🔧 - UsedNamesRule - level 0 ([#​2849](https://togithub.com/phpstan/phpstan-src/pull/2849)), thanks [@​lulco](https://togithub.com/lulco)! # Bugfixes 🐛 - Simplify TooWideClosureReturnTypehintRule (https://github.com/phpstan/phpstan-src/commit/a81df66485ea7c94655d70f322775e84bef871f9) - Fix falsy isset for all expressions (https://github.com/phpstan/phpstan-src/commit/af14d50e2b5d1b2cf91813059cdc827be63fdb20), [#​10373](https://togithub.com/phpstan/phpstan/issues/10373) ### [`v1.10.53`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.53) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.10.52...1.10.53) # Improvements 🔧 - Impl `str_increment` / `str_decrement` return type extension ([#​2776](https://togithub.com/phpstan/phpstan-src/pull/2776)), thanks [@​zonuexe](https://togithub.com/zonuexe)! # Bugfixes 🐛 - Fix loading polyfills twice (https://github.com/phpstan/phpstan/commit/3e7c7c7c6306157e6967ef436e952aeba1097edb?w=1), [#​10387](https://togithub.com/phpstan/phpstan/issues/10387) - `array_udiff()` comparator return type is too strict ([#​2822](https://togithub.com/phpstan/phpstan-src/pull/2822)), [#​9697](https://togithub.com/phpstan/phpstan/issues/9697), thanks [@​staabm](https://togithub.com/staabm)! # Internals 🔍 - Simplify default return path in extensions ([#​2816](https://togithub.com/phpstan/phpstan-src/pull/2816)), thanks [@​staabm](https://togithub.com/staabm)! ### [`v1.10.52`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.52) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.10.51...1.10.52) # Improvements 🔧 - Do not allow to generate baseline when reflection error occurs (https://github.com/phpstan/phpstan-src/commit/78ea9a621093cde38dd382cc67557c8b211589d8) - Show internal errors that occured when generating a baseline (https://github.com/phpstan/phpstan-src/commit/c997ea9eefb8a57f5e273cff3b3338f423e755b6) # Bugfixes 🐛 - Load PHP polyfills in bootstrap.php (https://github.com/phpstan/phpstan/commit/21df2d347a49a51b3377e4b6553aa110e7072eb6), [#​10375](https://togithub.com/phpstan/phpstan/issues/10375) ### [`v1.10.51`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.51) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.10.50...1.10.51) # Bleeding edge 🔪 - ParamAttributesRule - promoted property attribute needs to target both parameters and properties (https://github.com/phpstan/phpstan-src/commit/25d15526dbe59216f2b42aaa88a2be23bf9cbf44), [#​10298](https://togithub.com/phpstan/phpstan/issues/10298) - More precise `RecursiveIteratorIterator::__construct()` parameter types ([#​2835](https://togithub.com/phpstan/phpstan-src/pull/2835)), thanks [@​staabm](https://togithub.com/staabm)! - PhpDocParser: add config for lines in its AST & enable ignoring errors within PHPDocs ([#​2807](https://togithub.com/phpstan/phpstan-src/pull/2807)), thanks [@​janedbal](https://togithub.com/janedbal)! *If you want to see the shape of things to come and adopt bleeding edge features early, you can include this config file in your project's `phpstan.neon`:* includes: - vendor/phpstan/phpstan/conf/bleedingEdge.neon *Of course, there are no backwards compatibility guarantees when you include this file. The behaviour and reported errors can change in minor versions with this file included. [Learn more](https://phpstan.org/blog/what-is-bleeding-edge)* # Improvements 🔧 - Missing ThrowExprTypeRule - level 3 (https://github.com/phpstan/phpstan-src/commit/0359ebc78fa7bc5ed1b3b4032c68363ce70ab673) - Analyse stubs only when not only files are analysed (https://github.com/phpstan/phpstan-src/commit/402024091b215dca7d91b74c415293323d2dbadc) - Nicer error message in case of memory limit exhaustion in child process (https://github.com/phpstan/phpstan-src/commit/816be99361d263df24bf1e7fa078df62fb63d1d7) # Bugfixes 🐛 - Narrow `ReflectionEnum::getBackingType()` after `ReflectionEnum::isBacked()` ([#​2830](https://togithub.com/phpstan/phpstan-src/pull/2830)), [#​10167](https://togithub.com/phpstan/phpstan/issues/10167), thanks [@​staabm](https://togithub.com/staabm)! - Fix coalescing on an optional array offset ([#​2834](https://togithub.com/phpstan/phpstan-src/pull/2834)), [#​10317](https://togithub.com/phpstan/phpstan/issues/10317), thanks [@​rvanvelzen](https://togithub.com/rvanvelzen)! - More precise `??` type inference (https://github.com/phpstan/phpstan-src/commit/d801919e356a8cecc33b06046311aa036d2492ff), [#​10327](https://togithub.com/phpstan/phpstan/issues/10327) # Internals 🔍 - phpstan-src is now downgraded for PHP 7.2+ with [`ondrejmirtes/simple-downgrader`](https://togithub.com/ondrejmirtes/simple-downgrader) - Forward-compatible changes with PHP-Parser 5 (https://github.com/phpstan/phpstan-src/commit/436bd791bf256ca59334f2746e70a58d581d8574, https://github.com/phpstan/phpstan-src/commit/7eb66f6bd643fc95f8353b3b273c29514ddd8619, https://github.com/phpstan/phpstan-src/commit/bf0b138fbed6fb0960ca696869cc9f5f787d4261), [#​5086](https://togithub.com/phpstan/phpstan/issues/5086) - Use `str_starts_with()` and `str_contains()` instead of `strpos()` ([#​2841](https://togithub.com/phpstan/phpstan-src/pull/2841)), thanks [@​zonuexe](https://togithub.com/zonuexe)! - Building preload script - sort by name for reproducible builds (https://github.com/phpstan/phpstan-src/commit/995de26a4b8009c4e89159683c4e602290dbc508) - Lazier creation of ParameterAcceptor ([#​2843](https://togithub.com/phpstan/phpstan-src/pull/2843)), thanks [@​staabm](https://togithub.com/staabm)! - Use const instead of properties ([#​2815](https://togithub.com/phpstan/phpstan-src/pull/2815)), thanks [@​zonuexe](https://togithub.com/zonuexe)! - PhpDocValueRule: cheapest check first ([#​2824](https://togithub.com/phpstan/phpstan-src/pull/2824)), thanks [@​staabm](https://togithub.com/staabm)! - Faster `ParametersAcceptorSelector::combine()` ([#​2851](https://togithub.com/phpstan/phpstan-src/pull/2851)), thanks [@​staabm](https://togithub.com/staabm)! ### [`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)! ### [`v1.10.43`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.43) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.10.42...1.10.43) # Improvements 🔧 - Update `phpstan/phpdoc-parser` - Fix HTML description detection for PhpStorm stubs ([https://github.com/phpstan/phpdoc-parser/pull/220](https://togithub.com/phpstan/phpdoc-parser/pull/220)), thanks [@​schlndh](https://togithub.com/schlndh)! - Make `ReflectionEnum` generic (https://github.com/phpstan/phpstan-src/commit/9ce8faf53c7a78c7887a2c33f9d34944605d6aae) # Bugfixes 🐛 - Merge right scope of `??=` with scope before the expression (https://github.com/phpstan/phpstan-src/commit/846f44ee6e027853352674052510bc172a1bfc89), [#​10151](https://togithub.com/phpstan/phpstan/issues/10151), [#​10131](https://togithub.com/phpstan/phpstan/issues/10131) - Fix return type of parent calls for SplHeap and other internal methods ([#​2622](https://togithub.com/phpstan/phpstan-src/pull/2622)), [#​7162](https://togithub.com/phpstan/phpstan/issues/7162), [#​9867](https://togithub.com/phpstan/phpstan/issues/9867), thanks [@​schlndh](https://togithub.com/schlndh)! - `stdClass` does not have `__get` method (https://github.com/phpstan/phpstan-src/commit/baf359ea3cfa99368eb94d80887cfd7bb0a00b85), [#​10149](https://togithub.com/phpstan/phpstan/issues/10149) - Fix signature check of method from trait (https://github.com/phpstan/phpstan-src/commit/be2b4152837ce05273c55937b8a56daa19cb4d81), [#​10153](https://togithub.com/phpstan/phpstan/issues/10153) - All `universalObjectCratesClasses` allow dynamic properties (https://github.com/phpstan/phpstan-src/commit/2ec416e11202f150b880619c5bc6416bf17b8e3e) - Fix infinite recursion with self-referencing class constant (https://github.com/phpstan/phpstan-src/commit/93af41bf52b47bbfbc533efea75f515a4caddc0e), [#​10147](https://togithub.com/phpstan/phpstan/issues/10147) # Internals 🔍 - Add named arguments variants to reflection golden test ([#​2743](https://togithub.com/phpstan/phpstan-src/pull/2743)), thanks [@​schlndh](https://togithub.com/schlndh)! ### [`v1.10.42`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.42) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.10.41...1.10.42) This release closes **25 issues**! 🎉 # Major new features 🚀 - PHP 8.3 - support for natively typed class constants ([RFC](https://wiki.php.net/rfc/typed_class_constants)) - PHP 8.3 - support for `#[\Override]` attribute (https://github.com/phpstan/phpstan-src/commit/e9a563993f76e2504e4f6640a5a3da2e86ba8808) ([RFC](https://wiki.php.net/rfc/marking_overriden_methods)) - New configuration option: `checkMissingOverrideMethodAttribute` (https://phpstan.org/config-reference#checkmissingoverridemethodattribute) (https://github.com/phpstan/phpstan-src/commit/ac4d3de8df284308b4879a5a01168a10c18c0bea) # Bleeding edge 🔪 - Detect overriding `@final` method in OverridingMethodRule, [#​9135](https://togithub.com/phpstan/phpstan/issues/9135) - MethodSignatureRule - look at abstract trait method (https://github.com/phpstan/phpstan-src/commit/5fd8cee591ce1b07daa5f98a1ddcdfc723f1b5eb) - MagicConstantContextRule ([#​2741](https://togithub.com/phpstan/phpstan-src/pull/2741)), [#​10099](https://togithub.com/phpstan/phpstan/issues/10099), thanks [@​staabm](https://togithub.com/staabm)! *If you want to see the shape of things to come and adopt bleeding edge features early, you can include this config file in your project's `phpstan.neon`:* includes: - vendor/phpstan/phpstan/conf/bleedingEdge.neon *Of course, there are no backwards compatibility guarantees when you include this file. The behaviour and reported errors can change in minor versions with this file included. [Learn more](https://phpstan.org/blog/what-is-bleeding-edge)* # Improvements 🔧 - Add ConstantsInTraitsRule ([#​2718](https://togithub.com/phpstan/phpstan-src/pull/2718)), thanks [@​paulbalandan](https://togithub.com/paulbalandan)! - Add NoncapturingCatchRule ([#​2721](https://togithub.com/phpstan/phpstan-src/pull/2721)), [#​8663](https://togithub.com/phpstan/phpstan/issues/8663), thanks [@​paulbalandan](https://togithub.com/paulbalandan)! - Detect non-abstract methods with no body ([#​2730](https://togithub.com/phpstan/phpstan-src/pull/2730)), [#​4244](https://togithub.com/phpstan/phpstan/issues/4244), thanks [@​paulbalandan](https://togithub.com/paulbalandan)! - Detect properties declared in interface ([#​2731](https://togithub.com/phpstan/phpstan-src/pull/2731)), [#​8915](https://togithub.com/phpstan/phpstan/issues/8915), thanks [@​paulbalandan](https://togithub.com/paulbalandan)! - Add VariadicParametersDeclarationRule ([#​2733](https://togithub.com/phpstan/phpstan-src/pull/2733)), [#​3802](https://togithub.com/phpstan/phpstan/issues/3802), thanks [@​paulbalandan](https://togithub.com/paulbalandan)! - Add InvalidCallablePropertyTypeRule ([#​2745](https://togithub.com/phpstan/phpstan-src/pull/2745)), [#​4424](https://togithub.com/phpstan/phpstan/issues/4424), thanks [@​paulbalandan](https://togithub.com/paulbalandan)! - ConflictingTraitConstantsRule (https://github.com/phpstan/phpstan-src/commit/f94a3c365e6bd089695376e06f9abdf81f9f24fc) - Read class constant type when generalizing the type for `dynamicConstantNames` (https://github.com/phpstan/phpstan-src/commit/cb9571b5c0b34bd0e26c9d085281842b3d829e6c) - Rework prototype searching in OverridingMethodRule (https://github.com/phpstan/phpstan-src/commit/4b2ffb82f12c98e65dd6387976cabf8bebc0dc39), [#​10101](https://togithub.com/phpstan/phpstan/issues/10101), [#​7541](https://togithub.com/phpstan/phpstan/issues/7541), [#​10043](https://togithub.com/phpstan/phpstan/issues/10043), [#​7859](https://togithub.com/phpstan/phpstan/issues/7859), [#​8081](https://togithub.com/phpstan/phpstan/issues/8081), [#​8500](https://togithub.com/phpstan/phpstan/issues/8500), [#​9014](https://togithub.com/phpstan/phpstan/issues/9014) - OverridingMethodRule - search for method prototype in traits (https://github.com/phpstan/phpstan-src/commit/2df14af6e13cfa2b725c325f3f39eb87476d37bd) - VarTagTypeRuleHelper: fix widening array shapes ([#​2738](https://togithub.com/phpstan/phpstan-src/pull/2738)), [#​10130](https://togithub.com/phpstan/phpstan/issues/10130), thanks [@​janedbal](https://togithub.com/janedbal)! - Note about Xdebug with `--debug` (https://github.com/phpstan/phpstan-src/commit/c534f8cc79680e63a418760aa000c5bb7e3dfb0b) - FunctionSignatureMapProvider - cache data statically (https://github.com/phpstan/phpstan-src/commit/394064bb332d9bdd988895f9c63de6eb9ea538c5), [#​10039](https://togithub.com/phpstan/phpstan/issues/10039) # Bugfixes 🐛 - Star projection is always within template type bounds ([#​2715](https://togithub.com/phpstan/phpstan-src/pull/2715)), [#​10097](https://togithub.com/phpstan/phpstan/issues/10097), thanks [@​jiripudil](https://togithub.com/jiripudil)! - Support `non-empty-string` in `str_shuffle()` ([#​2717](https://togithub.com/phpstan/phpstan-src/pull/2717)), thanks [@​staabm](https://togithub.com/staabm)! - Look if userland prototype has `ReturnTypeWillChange` or not (https://github.com/phpstan/phpstan-src/commit/eb0c7a1308ad6d45eca98e5f034529aca640b513), [#​9615](https://togithub.com/phpstan/phpstan/issues/9615) - Fix wrong tip about returning a list (https://github.com/phpstan/phpstan-src/commit/00adfaa7d1cb427262577df705264701b7de9670, https://github.com/phpstan/phpstan-src/commit/00a9d94685b297d3b1b09d7fe4398b60c3036401) - Fix parameter names for multi-variant functions ([#​2726](https://togithub.com/phpstan/phpstan-src/pull/2726)), [#​9018](https://togithub.com/phpstan/phpstan/issues/9018), [#​9399](https://togithub.com/phpstan/phpstan/issues/9399), [#​9923](https://togithub.com/phpstan/phpstan/issues/9923), [#​9823](https://togithub.com/phpstan/phpstan/issues/9823), thanks [@​schlndh](https://togithub.com/schlndh)! - Fix iterator_to_array, iterator_count for PHP 8.2 ([#​2625](https://togithub.com/phpstan/phpstan-src/pull/2625)), [#​9793](https://togithub.com/phpstan/phpstan/issues/9793), [#​7760](https://togithub.com/phpstan/phpstan/issues/7760), thanks [@​schlndh](https://togithub.com/schlndh)! - Update array_filter signature to allow null as callback ([#​2740](https://togithub.com/phpstan/phpstan/issues/2740)) ([#​2740](https://togithub.com/phpstan/phpstan-src/pull/2740)), thanks [@​andyexeter](https://togithub.com/andyexeter)! # Function signature fixes 🤖 - Fix return value of `mailparse_msg_get_part()` ([#​2722](https://togithub.com/phpstan/phpstan-src/pull/2722)), thanks [@​jlherren](https://togithub.com/jlherren)! - Update functionMaps ([#​2699](https://togithub.com/phpstan/phpstan-src/pull/2699)), thanks [@​zonuexe](https://togithub.com/zonuexe)! - Change `iptcparse` return type ([#​2727](https://togithub.com/phpstan/phpstan-src/pull/2727)), thanks [@​ManuelHu](https://togithub.com/ManuelHu)! # Internals 🔍 - Create DirectoryCreator helper class ([#​2697](https://togithub.com/phpstan/phpstan-src/pull/2697)), thanks [@​CalebDW](https://togithub.com/CalebDW)! - Use PHP 8.3 in Name Collision Detector (https://github.com/phpstan/phpstan-src/commit/8cd239e1fbaebcc5d4a57a757724e31ad4b6e36b) - Golden test for reflection ([#​2679](https://togithub.com/phpstan/phpstan-src/pull/2679)), thanks [@​schlndh](https://togithub.com/schlndh)! - Fully qualify the name of the `#[\Override]` attribute in error messages ([#​10136](https://togithub.com/phpstan/phpstan-src/pull/10136)), thanks [@​TimWolla](https://togithub.com/TimWolla)! - RuleTestCase - allow null tip (https://github.com/phpstan/phpstan-src/commit/f384b43c911ee465abcc479d3efddf97ba2309f8) ### [`v1.10.41`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.41) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.10.40...1.10.41) # Bugfixes 🐛 - Fix type-specifying of expression involved in nullsafe property fetch (https://github.com/phpstan/phpstan-src/commit/a849f06ff5195c95d0c03ef14dffc65986fe92a2), [#​10071](https://togithub.com/phpstan/phpstan/issues/10071), [#​9394](https://togithub.com/phpstan/phpstan/issues/9394), [#​6922](https://togithub.com/phpstan/phpstan/issues/6922) - Fix type-specifying for nested assign in `===` and `match` condition (https://github.com/phpstan/phpstan-src/commit/01deed63e01827746fac77921dc6436f5f4f58b5), [#​10084](https://togithub.com/phpstan/phpstan/issues/10084) - Improve missing iterable value type check in lists (https://github.com/phpstan/phpstan-src/commit/e705f09a6ac275e352a8c39f14f5e169c4960c41) - Update BetterReflection ([#​2713](https://togithub.com/phpstan/phpstan-src/pull/2713)), [#​10086](https://togithub.com/phpstan/phpstan/issues/10086) - Reuse same printer instance (https://github.com/ondrejmirtes/BetterReflection/commit/bab47eacdc4016f76cea6d62dcfb170c505fda95) # Function signature fixes 🤖 - Fix many phpredis signatures ([#​2706](https://togithub.com/phpstan/phpstan-src/pull/2706)), thanks [@​Vaalyn](https://togithub.com/Vaalyn)! # Internals 🔍 - `MutatingScope::debug()` - add info about conditional expressions (https://github.com/phpstan/phpstan-src/commit/80782fb84dcb3d1cff7777da10d957117aa85299) ### [`v1.10.40`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.40) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.10.39...1.10.40) # Improvements 🔧 - TemplateTypeCheck tries to resolve template type names such as `self` because they're not usable (https://github.com/phpstan/phpstan-src/commit/c6fad644c7906577e0e360651a5db467a5bca750), [#​10049](https://togithub.com/phpstan/phpstan/issues/10049) # Bugfixes 🐛 - Fix used memory reporting ([#​2686](https://togithub.com/phpstan/phpstan-src/pull/2686)), thanks [@​staabm](https://togithub.com/staabm)! - Fix switch statement with enum in the condition ([#​2687](https://togithub.com/phpstan/phpstan-src/pull/2687)), [#​9806](https://togithub.com/phpstan/phpstan/issues/9806), thanks [@​schlndh](https://togithub.com/schlndh)! - Fix null coalesce assignment type ([#​2702](https://togithub.com/phpstan/phpstan-src/pull/2702)), [#​9995](https://togithub.com/phpstan/phpstan/issues/9995), thanks [@​hirokinoue](https://togithub.com/hirokinoue)! - Fix `!==` with union of constants ([#​2700](https://togithub.com/phpstan/phpstan-src/pull/2700)), [#​10002](https://togithub.com/phpstan/phpstan/issues/10002), thanks [@​schlndh](https://togithub.com/schlndh)! - Process statements inside `declare(ticks=...)` (https://github.com/phpstan/phpstan-src/commit/eb39381d2a3fd370d9881aacebabb3b17c06678a), [#​10059](https://togithub.com/phpstan/phpstan/issues/10059) - Fix crash when template types map and variances map are not of equal length (https://github.com/phpstan/phpstan-src/commit/1308c520e763e286809f01a4100af8ba156c1d34), [#​10049](https://togithub.com/phpstan/phpstan/issues/10049) # Function signature fixes 🤖 - functionMap.php fixes for YAF 3.3.5 ([#​2696](https://togithub.com/phpstan/phpstan-src/pull/2696)), thanks [@​mbakirov](https://togithub.com/mbakirov)! - Remove `\` from DateTimeZone in functionMap ([#​2693](https://togithub.com/phpstan/phpstan-src/pull/2693)), thanks [@​simPod](https://togithub.com/simPod)! - Allow `Redis::pconnect` to have 7 parameters ([#​2695](https://togithub.com/phpstan/phpstan-src/pull/2695)), thanks [@​Vaalyn](https://togithub.com/Vaalyn)! # Internals 🔍 - Micro-optimize `TypeSpecifier::resolveIdentical` ([#​2700](https://togithub.com/phpstan/phpstan-src/pull/2700)), thanks [@​schlndh](https://togithub.com/schlndh)! - Micro-optimize with `in_array()` ([#​2698](https://togithub.com/phpstan/phpstan-src/pull/2698)), thanks [@​zonuexe](https://togithub.com/zonuexe)! ### [`v1.10.39`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.39) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.10.38...1.10.39) # Improvements 🔧 - More information about thrown exception in child process (https://github.com/phpstan/phpstan-src/commit/d6a576adcdaf3c6d64ccbeb6fcbae7100cc674f4) - PHPStan Pro - allow overriding `pro.tmpDir` config parameter (https://github.com/phpstan/phpstan-src/commit/4a952068df57b09e8920de756ab2a6b8a0ffdf10, https://github.com/phpstan/phpstan-src/commit/7c4ef6b2aa246a31128b035cd07e64ff202ecc2b) - Optimize memory consumption when doing sha1 file hash ([#​2680](https://togithub.com/phpstan/phpstan-src/pull/2680)), thanks [@​staabm](https://togithub.com/staabm)! - Optimize memory consumption in ResultCacheManager ([#​2681](https://togithub.com/phpstan/phpstan-src/pull/2681)), thanks [@​staabm](https://togithub.com/staabm)! # Bugfixes 🐛 - Filter right side of `??=` with `=== null` (https://github.com/phpstan/phpstan-src/commit/f407ac69ba1d967b2258ff2a506f53c8cf0a8e5d) - Fix possible internal error when analysing code with enums on PHP 7.x (https://github.com/phpstan/phpstan-src/commit/b9d96266478461696d8db461a15601c7b4654d9a), [#​9974](https://togithub.com/phpstan/phpstan/issues/9974) - NonexistentOffsetInArrayDimFetchRule - do not report errors on expressions after truthy `isset` check (https://github.com/phpstan/phpstan-src/commit/6fbd6e48b86b995b7ab118e0575c747fe224165b), [#​9991](https://togithub.com/phpstan/phpstan/issues/9991) - Use real native function name instead of lowercase one ([#​2673](https://togithub.com/phpstan/phpstan-src/pull/2673)), [#​10003](https://togithub.com/phpstan/phpstan/issues/10003), thanks [@​fredden](https://togithub.com/fredden)! - Include property intializations from parent scope for anonymous functions ([#​2607](https://togithub.com/phpstan/phpstan-src/pull/2607)), [#​9831](https://togithub.com/phpstan/phpstan/issues/9831), thanks [@​fabacino](https://togithub.com/fabacino)! - FileFinder - make list of found files unique (https://github.com/phpstan/phpstan-src/commit/749126094d4ea84f770251dd41a277a46567b47e) - Fix internal error with first-class callable in `array_filter` (https://github.com/phpstan/phpstan-src/commit/0228643a9062c6ceb2eadba4b3f64f8b1a35fea5), [#​9994](https://togithub.com/phpstan/phpstan/issues/9994) - Fix subclass acceptability when class alias is involved on "ours" side (https://github.com/phpstan/phpstan-src/commit/d5c599c962cadc13acb206b932a8e3a74fc46025), [#​10023](https://togithub.com/phpstan/phpstan/issues/10023) # Function signature fixes 🤖 - Fix incorrect doc for `SQLite3::openBlob` ([#​2668](https://togithub.com/phpstan/phpstan-src/pull/2668)), thanks [@​rodrigoq](https://togithub.com/rodrigoq)! - Update `number_format` return from `string` to `non-empty-string` ([#​2678](https://togithub.com/phpstan/phpstan-src/pull/2678)), thanks [@​devnix](https://togithub.com/devnix)! ### [`v1.10.38`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.38) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.10.37...1.10.38) # Improvements 🔧 - Remove function signatures that were removed in PHP 8.0 ([#​2662](https://togithub.com/phpstan/phpstan-src/pull/2662)), [#​9954](https://togithub.com/phpstan/phpstan/issues/9954), thanks [@​Th3Cod3](https://togithub.com/Th3Cod3)! # Bugfixes 🐛 - Update BetterReflection - Fix for non-backed enums (https://github.com/ondrejmirtes/BetterReflection/commit/4dd0f2bb17810ab0ee8f2a77c63d6b02f7b6d0d4) - Do not invalidate types passed by value (https://github.com/phpstan/phpstan-src/commit/0b8dca74e5345244a955535b54e9874beae76713), [https://github.com/phpstan/phpstan/discussions/9927](https://togithub.com/phpstan/phpstan/discussions/9927) - Do not influence types of arguments before the function is called (https://github.com/phpstan/phpstan-src/commit/c45d42dd1d031016668099957d2b77706f208d67) - Fixed collapsing of constant arrays (https://github.com/phpstan/phpstan-src/commit/746de74c5cdd339c9020cfb03784fb39229ed86a), [#​9985](https://togithub.com/phpstan/phpstan/issues/9985) # Internals 🔍 - Lazier type-resolving in `isset` checks ([#​2664](https://togithub.com/phpstan/phpstan-src/pull/2664)), thanks [@​staabm](https://togithub.com/staabm)! - Refactor to invalidate args inside `processArgs` (https://github.com/phpstan/phpstan-src/commit/52eb6f8e5f19a41b8a00ca331ba67c7cba8aa952) - Merge array types a bit later (https://github.com/phpstan/phpstan-src/commit/adbc35a1c72585df4586131f8e99b882bb64677d) ### [`v1.10.37`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.37) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.10.36...1.10.37) # Bugfixes 🐛 - Support array shape covariance when the optional key is missing in the subtype ([#​2655](https://togithub.com/phpstan/phpstan-src/pull/2655)), [#​9905](https://togithub.com/phpstan/phpstan/issues/9905), [#​5655](https://togithub.com/phpstan/phpstan/issues/5655), [#​7273](https://togithub.com/phpstan/phpstan/issues/7273), thanks [@​staabm](https://togithub.com/staabm)! - Fix conditional types ([#​2659](https://togithub.com/phpstan/phpstan-src/pull/2659)), [#​9951](https://togithub.com/phpstan/phpstan/issues/9951), [#​9963](https://togithub.com/phpstan/phpstan/issues/9963), thanks [@​rvanvelzen](https://togithub.com/rvanvelzen)! - Handle exception thrown from callable object's `__invoke` method ([#​2502](https://togithub.com/phpstan/phpstan-src/pull/2502)), [#​6233](https://togithub.com/phpstan/phpstan/issues/6233), thanks [@​VincentLanglet](https://togithub.com/VincentLanglet)! - Update BetterReflection - ReflectionSourceStubber - fix enum as default function parameter value (https://github.com/ondrejmirtes/BetterReflection/commit/135a394e2fba447a788ac3a36818e4cde8b87ac4), [https://github.com/nunomaduro/larastan/issues/1749](https://togithub.com/nunomaduro/larastan/issues/1749) ### [`v1.10.36`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.36) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.10.35...1.10.36) # Improvements 🔧 - DumpParametersCommand: `--json` option (https://github.com/phpstan/phpstan-src/commit/91a0002402123b96a08978ba400b5d76d5456693) - Implement `reportUncheckedExceptionDeadCatch` option (defaults to `true`) ([#​2648](https://togithub.com/phpstan/phpstan-src/pull/2648)), [#​9921](https://togithub.com/phpstan/phpstan/issues/9921), thanks [@​VincentLanglet](https://togithub.com/VincentLanglet)! - Support union types in `array_chunk()` ([#​2635](https://togithub.com/phpstan/phpstan-src/pull/2635)), thanks [@​staabm](https://togithub.com/staabm)! - Result cache: Indicate key differences in cache metadata ([#​2630](https://togithub.com/phpstan/phpstan-src/pull/2630)), thanks [@​staabm](https://togithub.com/staabm)! - Get rid of annoying "on an unknown class ReflectionEnum" error on PHP < 8.0 (https://github.com/phpstan/phpstan-src/commit/2b9af363a3d2a9620c4b9bfb65e81813b69623d0) # Bugfixes 🐛 - Fix resolving nested conditional types with union subjects ([#​2641](https://togithub.com/phpstan/phpstan-src/pull/2641)), [#​9860](https://togithub.com/phpstan/phpstan/issues/9860), thanks [@​rvanvelzen](https://togithub.com/rvanvelzen)! - Detect array_rand second parameter ([#​2633](https://togithub.com/phpstan/phpstan-src/pull/2633)), [#​9803](https://togithub.com/phpstan/phpstan/issues/9803), thanks [@​staabm](https://togithub.com/staabm)! - Fix subtracting types from union template types ([#​2652](https://togithub.com/phpstan/phpstan-src/pull/2652)), [#​9939](https://togithub.com/phpstan/phpstan/issues/9939), thanks [@​rvanvelzen](https://togithub.com/rvanvelzen)! - fix infinite cycle due to incorrect implements/extends ([#​2483](https://togithub.com/phpstan/phpstan-src/pull/2483)), thanks [@​schlndh](https://togithub.com/schlndh)! - Fix ConstantFloatType value dump precision ([#​2358](https://togithub.com/phpstan/phpstan-src/pull/2358)), thanks [@​mvorisek](https://togithub.com/mvorisek)! - Do not trigger PhpDocInheritanceResolver if we do not need the PHPDoc type when resolving the type of ClassConstFetch ([#​2414](https://togithub.com/phpstan/phpstan-src/pull/2414)), [#​9039](https://togithub.com/phpstan/phpstan/issues/9039), thanks [@​VincentLanglet](https://togithub.com/VincentLanglet)! # Function signature fixes 🤖 - `connection_*` functions are impure ([#​2555](https://togithub.com/phpstan/phpstan-src/pull/2555)), thanks [@​staabm](https://togithub.com/staabm)! - Add stubs for `mysqli` and `mysqli_result` classes ([#​2295](https://togithub.com/phpstan/phpstan-src/pull/2295)), thanks [@​phansys](https://togithub.com/phansys)! # Internals 🔍 - E2E test about env variables in config parameters (https://github.com/phpstan/phpstan-src/commit/980ab5bba4de0246587647e8cf6b7abe95697379) - Prevent unnecessary calls to `getFiniteTypes()` ([#​2636](https://togithub.com/phpstan/phpstan-src/pull/2636)), thanks [@​staabm](https://togithub.com/staabm)! - Remove unnecessary IO ([#​2613](https://togithub.com/phpstan/phpstan-src/pull/2613)), thanks [@​staabm](https://togithub.com/staabm)! - Restrict "Merge maintained branch" workflow to the main repository ([#​2654](https://togithub.com/phpstan/phpstan-src/pull/2654)), thanks [@​thg2k](https://togithub.com/thg2k)! ### [`v1.10.35`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.35) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.10.34...1.10.35) # Major new features 🚀 - Generics: **Type projections aka call-site variance** ([#​2485](https://togithub.com/phpstan/phpstan-src/pull/2485)), thanks [@​jiripudil](https://togithub.com/jiripudil)! - Learn more: https://phpstan.org/blog/guide-to-call-site-generic-variance # Bugfixes 🐛 - Make `value-of<...>` lazier (https://github.com/phpstan/phpstan-src/commit/234f77d652bf6326be4bf5c25c7aab67145aca71), [#​9881](https://togithub.com/phpstan/phpstan/issues/9881) - Update BetterReflection, [#​9877](https://togithub.com/phpstan/phpstan/issues/9877) - Fix `ReflectionAttribute::newInstance()` with nested class using named arguments (https://github.com/ondrejmirtes/BetterReflection/commit/8d751dd38f4d089715e748863d0d8e4113bc408c), thanks [@​enumag](https://togithub.com/enumag)! - Improve typing of filters that do not accept non-falsy strings ([#​2620](https://togithub.com/phpstan/phpstan-src/pull/2620)), thanks [@​zonuexe](https://togithub.com/zonuexe)! # Internals 🔍 - name-collision-detector 2.0 (https://github.com/phpstan/phpstan-src/commit/c3cb573c595bf5cc72471fd8d773aa3b0296b035) - Remove `phpstan/phpstan-php-parser` ([#​2632](https://togithub.com/phpstan/phpstan-src/pull/2632)), thanks [@​staabm](https://togithub.com/staabm)! ### [`v1.10.34`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.34) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.10.33...1.10.34) # Improvements 🔧 - Add support and tests for `$this` type assertions ([#​2609](https://togithub.com/phpstan/phpstan-src/pull/2609)), [#​8904](https://togithub.com/phpstan/phpstan/issues/8904), thanks [@​ekisu](https://togithub.com/ekisu)! - Update [phpstan/phpdoc-parser to 1.24.0](https://togithub.com/phpstan/phpdoc-parser/releases/tag/1.24.0) - Allow asserting the type of `$this` ([https://github.com/phpstan/phpdoc-parser/pull/209](https://togithub.com/phpstan/phpdoc-parser/pull/209)), thanks [@​ekisu](https://togithub.com/ekisu)! - Avoid creating an Exception when it is not necessary ([https://github.com/phpstan/phpdoc-parser/pull/208](https://togithub.com/phpstan/phpdoc-parser/pull/208)), thanks [@​mad-briller](https://togithub.com/mad-briller)! - Added `--fail-without-result-cache` CLI option ([#​2611](https://togithub.com/phpstan/phpstan-src/pull/2611)), thanks [@​staabm](https://togithub.com/staabm)! - Make result cache independent from configs include order ([#​2606](https://togithub.com/phpstan/phpstan-src/pull/2606)), thanks [@​staabm](https://togithub.com/staabm)! - Reduce unnecessary calls into reflection ([#​2614](https://togithub.com/phpstan/phpstan-src/pull/2614)), thanks [@​staabm](https://togithub.com/staabm)! - Micro-optimize with `in_array()` ([#​2618](https://togithub.com/phpstan/phpstan-src/pull/2618)), thanks [@​zonuexe](https://togithub.com/zonuexe)! - Cover ArgumentsNormalizer with BC promise (https://github.com/phpstan/phpstan-src/commit/b87db6233f08414e176f02ba2dcf08414cb1d83d) - LastConditionVisitor: condition followed by throw is marked as last ([#​2405](https://togithub.com/phpstan/phpstan-src/pull/2405)), thanks [@​JanTvrdik](https://togithub.com/JanTvrdik)! # Function signature fixes 🤖 - fix incorrect doc for `inotify_read` ([#​2605](https://togithub.com/phpstan/phpstan-src/pull/2605)), thanks [@​taka-oyama](https://togithub.com/taka-oyama)! # Internals 🔍 - name-collision-detector (https://github.com/phpstan/phpstan-src/commit/95cdbe577513286c36dcf513fe76f269e8a32125) ### [`v1.10.33`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.33) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.10.32...1.10.33) # Improvements 🔧 - Support for referencing environment variables in the config ([#​2559](https://t

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.

🔕 Ignore: Close this PR and you won't be reminded about this update again.



This PR has been generated by Mend Renovate. View repository job log here.

codeclimate[bot] commented 1 year ago

Code Climate has analyzed commit 01e6ff13 and detected 0 issues on this pull request.

The test coverage on the diff in this pull request is 100.0% (50% is the threshold).

This pull request will bring the total coverage in the repository to 95.7% (0.0% change).

View more on Code Climate.