Closed renovate[bot] closed 10 months 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.
This PR contains the following updates:
1.9.4
->1.10.57
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 `listConfiguration
📅 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.