phpstan / php-8-stubs

MIT License
27 stars 8 forks source link

Update extractor #22

Closed renovate[bot] closed 2 years ago

renovate[bot] commented 2 years ago

Mend Renovate

This PR contains the following updates:

Package Type Update Change
nikic/php-parser require minor 4.13.2 -> 4.14.0
phpstan/phpdoc-parser require minor 1.5.1 -> 1.6.4
phpstan/phpstan require minor 1.6.9 -> 1.8.1
symfony/console (source) require minor 6.0.8 -> 6.1.2
symfony/finder (source) require minor 6.0.8 -> 6.1.0

Release Notes

nikic/PHP-Parser ### [`v4.14.0`](https://togithub.com/nikic/PHP-Parser/blob/HEAD/CHANGELOG.md#Version-4140-2022-05-31) [Compare Source](https://togithub.com/nikic/PHP-Parser/compare/v4.13.2...v4.14.0) ##### Added - Added support for readonly classes. - Added `rawValue` attribute to `LNumber`, `DNumber` and `String_` nodes, which stores the unparsed value of the literal (e.g. `"1_000"` rather than `1000`).
phpstan/phpdoc-parser ### [`v1.6.4`](https://togithub.com/phpstan/phpdoc-parser/releases/tag/1.6.4) [Compare Source](https://togithub.com/phpstan/phpdoc-parser/compare/1.6.3...1.6.4) - [135607f](http://github.com/phpstan/phpdoc-parser/commit/135607f9ccc297d6923d49c2bcf309f509413215) - Support [@​template-contravariant](https://togithub.com/template-contravariant) tags - [25ddf93](http://github.com/phpstan/phpdoc-parser/commit/25ddf938d8f71485ab9630428920ea8474504db4) - Simplify parsing of type alias import ### [`v1.6.3`](https://togithub.com/phpstan/phpdoc-parser/releases/tag/1.6.3) [Compare Source](https://togithub.com/phpstan/phpdoc-parser/compare/1.6.2...1.6.3) - [4a07085](http://github.com/phpstan/phpdoc-parser/commit/4a07085f74cb1f3fc7103efa537d9f00ebb74ec7) - Micro-optimize lexer ### [`v1.6.2`](https://togithub.com/phpstan/phpdoc-parser/releases/tag/1.6.2) [Compare Source](https://togithub.com/phpstan/phpdoc-parser/compare/1.6.1...1.6.2) - [76150ae](http://github.com/phpstan/phpdoc-parser/commit/76150ae7512439b4e6903db834e4a327596b617d) - Optimize generated regex ### [`v1.6.1`](https://togithub.com/phpstan/phpdoc-parser/releases/tag/1.6.1) [Compare Source](https://togithub.com/phpstan/phpdoc-parser/compare/1.6.0...1.6.1) - [5aaeb83](http://github.com/phpstan/phpdoc-parser/commit/5aaeb83195d6d96515329d14688547d7c81e59e9) - Optimize Lexer::tokenize() - [07c49b0](http://github.com/phpstan/phpdoc-parser/commit/07c49b0107f79289bd8dad07e7e733b78cb6d1bf) - Regression test - [4c25f7f](http://github.com/phpstan/phpdoc-parser/commit/4c25f7fc4dbe9ec7140e8661a2a76f13a3156cd8) - Install phpstan/phpstan-phpunit ### [`v1.6.0`](https://togithub.com/phpstan/phpdoc-parser/releases/tag/1.6.0) [Compare Source](https://togithub.com/phpstan/phpdoc-parser/compare/1.5.1...1.6.0) - [3cb62d1](http://github.com/phpstan/phpdoc-parser/commit/3cb62d10845338136ff4ba299ab0986bbf84ba77) - Make requiring whitespace before description optional - [1e355a3](http://github.com/phpstan/phpdoc-parser/commit/1e355a35e2a8ddfd1910ae674ee99d562847b4b5) - Support all atomic types as nullable types - [7c621a2](http://github.com/phpstan/phpdoc-parser/commit/7c621a221778202175b5c5df3ff2bcbaea5efd59) - Fix parsing phpdoc with no trailing whitespace - [9d45205](http://github.com/phpstan/phpdoc-parser/commit/9d452051cbb2676d232a61920b5a9f336207af65) - Allow omitting [@​param](https://togithub.com/param) type - [d579798](http://github.com/phpstan/phpdoc-parser/commit/d579798d2fefdc27de8227ab4a5b4eabe9532be7) - Require whitespace before description with limited start tokens - [b75949e](http://github.com/phpstan/phpdoc-parser/commit/b75949e747354aecfa280116df9eb2b0b5c6dcc8) - Update dependency slevomat/coding-standard to v7.2.1 - [5968e5f](http://github.com/phpstan/phpdoc-parser/commit/5968e5f71a00ce00d3e8ccf1c84a551996cee344) - Fix typo in doc/grammars - [5e424af](http://github.com/phpstan/phpdoc-parser/commit/5e424af90d346e2491f6c603634b1c8d081fc982) - Update dependency slevomat/coding-standard to v7.2.0
phpstan/phpstan ### [`v1.8.1`](https://togithub.com/phpstan/phpstan/releases/tag/1.8.1) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.8.0...1.8.1) # Improvements πŸ”§ - ReadWritePropertiesExtensions are part of ClassPropertiesNode (https://github.com/phpstan/phpstan-src/commit/49c27d8849b1d153a67f28e612e490a71b4fd477), [https://github.com/phpstan/phpstan-src/pull/1480#issuecomment-1169960148](https://togithub.com/phpstan/phpstan-src/pull/1480#issuecomment-1169960148) - Add ClosureTypeFactory ([#​1484](https://togithub.com/phpstan/phpstan-src/pull/1483)), [https://github.com/phpstan/phpstan/discussions/7546](https://togithub.com/phpstan/phpstan/discussions/7546), thanks [@​canvural](https://togithub.com/canvural)! - Handle native function `@throws` tag in stub file ([#​1487](https://togithub.com/phpstan/phpstan-src/pull/1487)), [#​7552](https://togithub.com/phpstan/phpstan/issues/7552), thanks [@​VincentLanglet](https://togithub.com/VincentLanglet)! - Add `#[AllowDynamicProperties]` PHP 8.2 attribute stub ([#​1478](https://togithub.com/phpstan/phpstan-src/pull/1478)), thanks [@​andypost](https://togithub.com/andypost)! - Add rule that disallows final private methods on PHP 8.0+ ([#​1490](https://togithub.com/phpstan/phpstan-src/pull/1490)), thanks [@​herndlm](https://togithub.com/herndlm)! - Inherit `@immutable` phpdoc ([#​1489](https://togithub.com/phpstan/phpstan-src/pull/1489)), [#​7506](https://togithub.com/phpstan/phpstan/issues/7506), thanks [@​herndlm](https://togithub.com/herndlm)! - Mark `ClassReflection::evictPrivateSymbols()` as internal (https://github.com/phpstan/phpstan-src/commit/9138ab2a1b63d9ee31764cc812cca404f265ecb7) # Bugfixes πŸ› - Fix type specification of various string functions with constant strings in a falsey context ([#​1488](https://togithub.com/phpstan/phpstan-src/pull/1488)), [#​7555](https://togithub.com/phpstan/phpstan/issues/7555), thanks [@​herndlm](https://togithub.com/herndlm)! - Fix `ConstantArrayType` creation for `preg_split` with `PREG_SPLIT_OFFSET_CAPTURE` ([#​1486](https://togithub.com/phpstan/phpstan-src/pull/1486)), [#​7554](https://togithub.com/phpstan/phpstan/issues/7554), thanks [@​herndlm](https://togithub.com/herndlm)! - Reindex constant arrays via `shuffle` ([#​1438](https://togithub.com/phpstan/phpstan-src/pull/1438)), [#​6138](https://togithub.com/phpstan/phpstan/issues/6138), thanks [@​herndlm](https://togithub.com/herndlm)! - Fix union and intersection between StaticType and ThisType (https://github.com/phpstan/phpstan-src/commit/e20e9345f57a7cd760967f459aa1eedfe2eabff8), [#​6291](https://togithub.com/phpstan/phpstan/issues/6291), [#​7211](https://togithub.com/phpstan/phpstan/issues/7211), [#​7550](https://togithub.com/phpstan/phpstan/issues/7550) - Enhance `FILTER_VALIDATE_INT` option in `filter_var` ([#​1499](https://togithub.com/phpstan/phpstan-src/pull/1499)), [#​7608](https://togithub.com/phpstan/phpstan/issues/7608), thanks [@​takeokunn](https://togithub.com/takeokunn)! - Fix handling of `str_split` / `mb_str_split` string arg compound types ([#​1496](https://togithub.com/phpstan/phpstan-src/pull/1496)), [#​7580](https://togithub.com/phpstan/phpstan/issues/7580), thanks [@​herndlm](https://togithub.com/herndlm)! - Fix Identical type specification of constant types ([#​1493](https://togithub.com/phpstan/phpstan-src/pull/1493)), [#​7257](https://togithub.com/phpstan/phpstan/issues/7257), [#​6781](https://togithub.com/phpstan/phpstan/issues/6781), [#​6647](https://togithub.com/phpstan/phpstan/issues/6647), [#​5896](https://togithub.com/phpstan/phpstan/issues/5896), [#​5474](https://togithub.com/phpstan/phpstan/issues/5474), [#​6000](https://togithub.com/phpstan/phpstan/issues/6000), thanks [@​herndlm](https://togithub.com/herndlm)! - Better `StaticType::traverse()` (https://github.com/phpstan/phpstan-src/commit/0e257067ff92fbcb37b034cccdbea864a233c198) - `GenericClassStringType::isSuperTypeOf()` - do not convert maybe into no (https://github.com/phpstan/phpstan-src/commit/6fba5429b9784801a89cdc6cfa3d6f8cfd1d82e8), [#​6697](https://togithub.com/phpstan/phpstan/issues/6697) - Fix subtractable `StaticType` (https://github.com/phpstan/phpstan-src/commit/0906336d29e807baba1a9eeca7b1545240c4ce5c), [#​6443](https://togithub.com/phpstan/phpstan/issues/6443) # Function signature fixes πŸ€– - Fix return type of `octdec()` ([#​1500](https://togithub.com/phpstan/phpstan-src/pull/1500)), thanks [@​zonuexe](https://togithub.com/zonuexe)! ### [`v1.8.0`](https://togithub.com/phpstan/phpstan/releases/tag/1.8.0) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.7.15...1.8.0) # Major new features πŸš€ - Collectors - allows writing custom rules that target the whole project - Read more: https://phpstan.org/developing-extensions/collectors - New `rememberPossiblyImpureFunctionValues` config parameter (defaults to `true`) (https://github.com/phpstan/phpstan-src/commit/50ed38f04de93b4d0ea9573d0a4789853a4b9f32), [#​7529](https://togithub.com/phpstan/phpstan/issues/7529) \*Β Read more: https://phpstan.org/config-reference#rememberpossiblyimpurefunctionvalues # Bleeding edge πŸ”ͺ - Check that each trait is used and analysed at least once - level 4 (https://github.com/phpstan/phpstan-src/commit/c4d05276fb8605d6ac20acbe1cc5df31cd6c10b0) - Check that PHPStan class in class constant fetch is covered by backward compatibility promise (https://github.com/phpstan/phpstan-src/commit/9e007251ce61788f6a0319a53f1de6cf801ed233) *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 πŸ”§ - Type a ranged value for `filter_var(FILTER_VALIDATE_INT)` ([#​1443](https://togithub.com/phpstan/phpstan-src/pull/1443)), [#​7494](https://togithub.com/phpstan/phpstan/issues/7494), thanks [@​zonuexe](https://togithub.com/zonuexe)! - Allow BooleanAnd and BooleanOr as standalone expressions with right sides always false (https://github.com/phpstan/phpstan-src/commit/f9374e74beec7082228454693dcdc14000070266), [#​2741](https://togithub.com/phpstan/phpstan/issues/2741) - Added `@api` annotation to `NodeScopeResolver::processStmtNodes()` ([#​1464](https://togithub.com/phpstan/phpstan-src/pull/1464)), thanks [@​vojtech-dobes](https://togithub.com/vojtech-dobes)! - Add `ClassReflection->is()` shortcut ([#​1468](https://togithub.com/phpstan/phpstan-src/pull/1468)), thanks [@​janedbal](https://togithub.com/janedbal)! - Force update of the PHPStan Pro PHAR in case of crash (https://github.com/phpstan/phpstan-src/commit/b95606ec291a7cf926ca757e544bfa089da950aa) - Intersect optimization for large unions ([#​1471](https://togithub.com/phpstan/phpstan-src/pull/1471)), thanks [@​neclimdul](https://togithub.com/neclimdul)! - Update phpdoc-parser (https://github.com/phpstan/phpstan-src/commit/7aa19e02c60c75961333d99cfb5c4704796d6e55) - Simplify parsing of type alias import ([https://github.com/phpstan/phpdoc-parser/pull/137](https://togithub.com/phpstan/phpdoc-parser/pull/137)), thanks [@​jiripudil](https://togithub.com/jiripudil)! - Support `@template-contravariant` tags ([https://github.com/phpstan/phpdoc-parser/pull/140](https://togithub.com/phpstan/phpdoc-parser/pull/140)), thanks [@​autaut03](https://togithub.com/autaut03)! # Bugfixes πŸ› - Prevent crashing for negative bit shifts ([#​1447](https://togithub.com/phpstan/phpstan-src/pull/1447)), [#​7490](https://togithub.com/phpstan/phpstan/issues/7490), thanks [@​rvanvelzen](https://togithub.com/rvanvelzen)! - Fix infinite recursion for template intersection type accepts() ([#​1450](https://togithub.com/phpstan/phpstan-src/pull/1450)), [#​7500](https://togithub.com/phpstan/phpstan/issues/7500), thanks [@​rvanvelzen](https://togithub.com/rvanvelzen)! - Run with parallel runner only when `proc_open` is not disabled ([#​1451](https://togithub.com/phpstan/phpstan-src/pull/1451)), [#​7488](https://togithub.com/phpstan/phpstan/issues/7488), thanks [@​mvorisek](https://togithub.com/mvorisek)! - Suppress `is_file` warnings in `bin/phpstan` ([#​1466](https://togithub.com/phpstan/phpstan-src/pull/1466)), thanks [@​mvorisek](https://togithub.com/mvorisek)! - Fix specifying types for chained assignments ([#​1473](https://togithub.com/phpstan/phpstan-src/pull/1473)), [#​7142](https://togithub.com/phpstan/phpstan/issues/7142), thanks [@​rvanvelzen](https://togithub.com/rvanvelzen)! - Consider autoloaders passed in `-a` (https://github.com/phpstan/phpstan-src/commit/78016fe92840c02a5981f4ab2ea28fc2d3e49f27) # Function signature fixes πŸ€– - `Closure::bind()` with `$newScope = null` ([#​1446](https://togithub.com/phpstan/phpstan-src/pull/1446)), [#​7489](https://togithub.com/phpstan/phpstan/issues/7489), thanks [@​rvanvelzen](https://togithub.com/rvanvelzen)! - `Closure::bindTo()` with `$newScope = null` ([#​1448](https://togithub.com/phpstan/phpstan-src/pull/1448)), thanks [@​mvorisek](https://togithub.com/mvorisek)! - Fix return type for `imagesx` and `imagesy` functions ([#​1452](https://togithub.com/phpstan/phpstan-src/pull/1452)), thanks [@​norkunas](https://togithub.com/norkunas)! - Add `NoRewindIterator` stub ([#​1453](https://togithub.com/phpstan/phpstan-src/pull/1453)), thanks [@​drupol](https://togithub.com/drupol)! - Add `LimitIterator` stub ([#​1455](https://togithub.com/phpstan/phpstan-src/pull/1455)), thanks [@​drupol](https://togithub.com/drupol)! - Add `InfiniteIterator` stub ([#​1454](https://togithub.com/phpstan/phpstan-src/pull/1454)), thanks [@​drupol](https://togithub.com/drupol)! - Add `CachingIterator` stub ([#​1456](https://togithub.com/phpstan/phpstan-src/pull/1456)), thanks [@​drupol](https://togithub.com/drupol)! - Add `RegexIterator` stub ([#​1462](https://togithub.com/phpstan/phpstan-src/pull/1462)), thanks [@​drupol](https://togithub.com/drupol)! - Add `EmptyIterator` stub ([#​1472](https://togithub.com/phpstan/phpstan-src/pull/1472)), thanks [@​drupol](https://togithub.com/drupol)! - Narrow return type of `array_keys` slightly ([#​1474](https://togithub.com/phpstan/phpstan-src/pull/1474)), thanks [@​Seldaek](https://togithub.com/Seldaek)! ### [`v1.7.15`](https://togithub.com/phpstan/phpstan/releases/tag/1.7.15) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.7.14...1.7.15) # Improvements πŸ”§ - Support for relative paths in `editorUrl` for Docker environment ([#​1414](https://togithub.com/phpstan/phpstan-src/pull/1414)), [#​7043](https://togithub.com/phpstan/phpstan/issues/7043), thanks [@​Wirone](https://togithub.com/Wirone)! - Support positional arguments in `sprintf()` constant format inference ([#​1437](https://togithub.com/phpstan/phpstan-src/pull/1437), [#​1440](https://togithub.com/phpstan/phpstan-src/pull/1440), [#​1441](https://togithub.com/phpstan/phpstan-src/pull/1441)), thanks [@​staabm](https://togithub.com/staabm)! - Dynamic return type extension for `sscanf()` and `fscanf()` ([#​1434](https://togithub.com/phpstan/phpstan-src/pull/1434)), thanks [@​staabm](https://togithub.com/staabm)! - Virtual nodes (InClassMethodNode, InFunctionNode, InClosureNode) - pass and provide getters for specific reflection so that `Scope::getFunction()` does not need to be used (https://github.com/phpstan/phpstan-src/commit/f18bd86495fc6811ee04c305ff4b379b10cd07bb) # Bleeding edge πŸ”ͺ - Check code in custom PHPStan extensions for runtime reflection concepts like `is_a()` or `class_parents()` (https://github.com/phpstan/phpstan-src/commit/c4a662ac6c3ec63f063238880b243b5399c34fcc) - Check code in custom PHPStan extensions for runtime reflection concepts like `new ReflectionMethod()` (https://github.com/phpstan/phpstan-src/commit/536306611cbb5877b6565755cd07b87f9ccfdf08) - ApiInstanceofRule - Report `instanceof` of classes not covered by backward compatibility promise (https://github.com/phpstan/phpstan-src/commit/ff4d02d62a7a2e2c4d928d48d31d49246dba7139) - Report `instanceof` of classes covered by backward compatibility promise but where the assumption might change (https://github.com/phpstan/phpstan-src/commit/996bc69fa977aa64f601bd82b8a0ae39be0cbeef) *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)* # Bugfixes πŸ› - Fix return type for arrow function generators ([#​1422](https://togithub.com/phpstan/phpstan-src/pull/1422)), [#​7031](https://togithub.com/phpstan/phpstan/issues/7031), thanks [@​rvanvelzen](https://togithub.com/rvanvelzen)! - Improve intersecting constant array with general array ([#​1429](https://togithub.com/phpstan/phpstan-src/pull/1429)), thanks [@​rvanvelzen](https://togithub.com/rvanvelzen)! - Allow `numeric-string` being returned for `non-empty-string` ([#​1428](https://togithub.com/phpstan/phpstan-src/pull/1428)), [#​7265](https://togithub.com/phpstan/phpstan/issues/7265), thanks [@​staabm](https://togithub.com/staabm)! - Specify array type via `in_array` ([#​1430](https://togithub.com/phpstan/phpstan-src/pull/1430)), [#​7153](https://togithub.com/phpstan/phpstan/issues/7153), [#​7275](https://togithub.com/phpstan/phpstan/issues/7275), thanks [@​rvanvelzen](https://togithub.com/rvanvelzen)! - Specify `non-empty-array after` after `in_array()` ([#​1108](https://togithub.com/phpstan/phpstan-src/pull/1108)), [#​6167](https://togithub.com/phpstan/phpstan/issues/6167), thanks [@​staabm](https://togithub.com/staabm)! - Array after `array_push` / `array_unshift` call can still be empty ([#​1431](https://togithub.com/phpstan/phpstan-src/pull/1431)), [#​7424](https://togithub.com/phpstan/phpstan/issues/7424), thanks [@​herndlm](https://togithub.com/herndlm)! - Fix `TemplateTypeArgumentStrategy::accepts()` (https://github.com/phpstan/phpstan-src/commit/85ab8cfe237b9a90d12f211dd1938a99cc299bba), [#​7460](https://togithub.com/phpstan/phpstan/issues/7460) - Improve parenthesization for union types ([#​1433](https://togithub.com/phpstan/phpstan-src/pull/1433)), [#​7484](https://togithub.com/phpstan/phpstan/issues/7484), thanks [@​rvanvelzen](https://togithub.com/rvanvelzen)! - Result cache is invalidated for files where PHP 8 attributes changed ([#​1427](https://togithub.com/phpstan/phpstan-src/pull/1427)), [#​6797](https://togithub.com/phpstan/phpstan/issues/6797), [#​7413](https://togithub.com/phpstan/phpstan/issues/7413), thanks [@​olsavmic](https://togithub.com/olsavmic)! - Fix `TypeCombinator::union()` for intersection of array and template type ([#​1444](https://togithub.com/phpstan/phpstan-src/pull/1444)), [#​4117](https://togithub.com/phpstan/phpstan/issues/4117), thanks [@​rvanvelzen](https://togithub.com/rvanvelzen)! # Function signature fixes πŸ€– - Be more specific about the XHProf sampling type (`xhprof_sample_disable()`) ([#​1436](https://togithub.com/phpstan/phpstan-src/pull/1436)), thanks [@​johnbillion](https://togithub.com/johnbillion)! ### [`v1.7.14`](https://togithub.com/phpstan/phpstan/releases/tag/1.7.14) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.7.13...1.7.14) # Improvements πŸ”§ - Update phpdoc-parser - Micro-optimize lexer ([https://github.com/phpstan/phpdoc-parser/pull/135](https://togithub.com/phpstan/phpdoc-parser/pull/135)), thanks [@​rvanvelzen](https://togithub.com/rvanvelzen)! - Update BetterReflection to 5.6.0 ([#​1421](https://togithub.com/phpstan/phpstan-src/pull/1421)), [#​7429](https://togithub.com/phpstan/phpstan/issues/7429), [#​7428](https://togithub.com/phpstan/phpstan/issues/7428) - Add dynamic return type extension for `date_create` ([#​1413](https://togithub.com/phpstan/phpstan-src/pull/1413)), thanks [@​VincentLanglet](https://togithub.com/VincentLanglet)! - more precise `sprintf()` return type on constant formats ([#​1410](https://togithub.com/phpstan/phpstan-src/pull/1410)), [#​7387](https://togithub.com/phpstan/phpstan/issues/7387), thanks [@​staabm](https://togithub.com/staabm)! - Update PhpStorm stubs ([#​1419](https://togithub.com/phpstan/phpstan-src/pull/1419)) - Assert functions do not throw anything (https://github.com/phpstan/phpstan-src/commit/9878eef9a7b04b8a7fa14b004ebfbb1e3d5cb0a8) - Deprecate `MutatingScope::enterCatch()` (https://github.com/phpstan/phpstan-src/commit/4a7d7da6f57be75e3f0dbc4b048663dbd5a58e1d) # Bugfixes πŸ› - Support `literal-string` as array key ([#​1420](https://togithub.com/phpstan/phpstan-src/pull/1420)), [#​7353](https://togithub.com/phpstan/phpstan/issues/7353), [#​6163](https://togithub.com/phpstan/phpstan/issues/6163), thanks [@​rvanvelzen](https://togithub.com/rvanvelzen)! # Function signature fixes πŸ€– - Update string compare return values ([#​1412](https://togithub.com/phpstan/phpstan-src/pull/1412)), thanks [@​bytestream](https://togithub.com/bytestream)! ### [`v1.7.13`](https://togithub.com/phpstan/phpstan/releases/tag/1.7.13) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.7.12...1.7.13) # Improvements πŸ”§ - Optimization of printing expressions using ExprPrinter (https://github.com/phpstan/phpstan-src/commit/e12524e21537b970c91e363c616503e6d7d41f38, https://github.com/phpstan/phpstan-src/commit/fba292944a67cb91158042a0f952e5e15bcf30c7) - Do not require an existing filename when reading PHPDocs from an evaled class ([#​1409](https://togithub.com/phpstan/phpstan-src/pull/1409)), [#​7441](https://togithub.com/phpstan/phpstan/issues/7441) - StatementExitPoint and ThrowPoint covered by BC promise (https://github.com/phpstan/phpstan-src/commit/e8b8ffdd7d164a7ddcafcf6cb570f56b71bb2263) - Update phpdoc-parser [#​7426](https://togithub.com/phpstan/phpstan/issues/7426) - Optimize `Lexer::tokenize()` ([https://github.com/phpstan/phpdoc-parser/pull/133](https://togithub.com/phpstan/phpdoc-parser/pull/133)), thanks [@​rvanvelzen](https://togithub.com/rvanvelzen)! - Optimize generated regex ([https://github.com/phpstan/phpdoc-parser/pull/134](https://togithub.com/phpstan/phpdoc-parser/pull/134)), thanks [@​rvanvelzen](https://togithub.com/rvanvelzen)! # Bleeding edge πŸ”ͺ - Use explicit mixed for global array variables ([#​1411](https://togithub.com/phpstan/phpstan-src/pull/1411)), thanks [@​herndlm](https://togithub.com/herndlm)! *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)* # Bugfixes πŸ› - Fix incorrect UnhandledMatchError for match expressions using spaceship operator ([#​1408](https://togithub.com/phpstan/phpstan-src/pull/1408)), [#​4451](https://togithub.com/phpstan/phpstan/issues/4451), thanks [@​rvanvelzen](https://togithub.com/rvanvelzen)! - Fix resolving class const fetch for constant strings ([#​1416](https://togithub.com/phpstan/phpstan-src/pull/1416)), [#​7391](https://togithub.com/phpstan/phpstan/issues/7391), thanks [@​rvanvelzen](https://togithub.com/rvanvelzen)! - Fix resolving user-defined constants in sub-namespaces ([#​1415](https://togithub.com/phpstan/phpstan-src/pull/1415)), [#​7352](https://togithub.com/phpstan/phpstan/issues/7352), thanks [@​rvanvelzen](https://togithub.com/rvanvelzen)! - `TypeUtils::getDirectClassNames()` - return unique list of class names (https://github.com/phpstan/phpstan-src/commit/b85fce0707f65a633163d2bf5215e57c927011b9) - Fix "missing return" for void/never conditional return types ([#​1418](https://togithub.com/phpstan/phpstan-src/pull/1418)), [#​7384](https://togithub.com/phpstan/phpstan/issues/7384), thanks [@​rvanvelzen](https://togithub.com/rvanvelzen)! ### [`v1.7.12`](https://togithub.com/phpstan/phpstan/releases/tag/1.7.12) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.7.11...1.7.12) # Improvements πŸ”§ - Update phpstan/phpdoc-parser to 1.6.0 (https://github.com/phpstan/phpstan-src/commit/ef8c7c37f2ab3def07860a4cdc20c7ed56758a8c) - Allow omitting `@param` type ([https://github.com/phpstan/phpdoc-parser/pull/127](https://togithub.com/phpstan/phpdoc-parser/pull/127)), [https://github.com/phpstan/phpdoc-parser/issues/77](https://togithub.com/phpstan/phpdoc-parser/issues/77), thanks [@​rvanvelzen](https://togithub.com/rvanvelzen)! - Support all atomic types as nullable types ([https://github.com/phpstan/phpdoc-parser/pull/129](https://togithub.com/phpstan/phpdoc-parser/pull/129)), [https://github.com/phpstan/phpdoc-parser/issues/124](https://togithub.com/phpstan/phpdoc-parser/issues/124), thanks [@​rvanvelzen](https://togithub.com/rvanvelzen)! - Support constant string and integer as template bound ([#​1402](https://togithub.com/phpstan/phpstan-src/pull/1402)), [#​7381](https://togithub.com/phpstan/phpstan/issues/7381), thanks [@​rvanvelzen](https://togithub.com/rvanvelzen)! - Introduce `ExtendedMethodReflection` interface ([#​1403](https://togithub.com/phpstan/phpstan-src/pull/1403)) - The purpose of this interface is to be able to answer more questions about methods without breaking backward compatibility with existing MethodsClassReflectionExtension. - Developers are meant to only use the MethodReflection interface and its methods in their code. - Methods on ExtendedMethodReflection are subject to change. # Bleeding edge πŸ”ͺ - PHPDoc parser: Require whitespace before description with limited start tokens ([https://github.com/phpstan/phpdoc-parser/pull/128](https://togithub.com/phpstan/phpdoc-parser/pull/128)), [https://github.com/phpstan/phpdoc-parser/issues/125](https://togithub.com/phpstan/phpdoc-parser/issues/125), thanks [@​rvanvelzen](https://togithub.com/rvanvelzen)! *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)* # Bugfixes πŸ› - Fix node scope resolving of array/list expression assignments ([#​1405](https://togithub.com/phpstan/phpstan-src/pull/1405)), [#​7119](https://togithub.com/phpstan/phpstan/issues/7119), thanks [@​herndlm](https://togithub.com/herndlm)! - Do not consider arrays with an unknown class string to be a callback ([#​1404](https://togithub.com/phpstan/phpstan-src/pull/1404)), [#​7389](https://togithub.com/phpstan/phpstan/issues/7389), thanks [@​herndlm](https://togithub.com/herndlm)! - Add array_udiff to arrayFunctions.stub ([#​1407](https://togithub.com/phpstan/phpstan-src/pull/1407)), [#​6105](https://togithub.com/phpstan/phpstan/issues/6105), thanks [@​akalineskou](https://togithub.com/akalineskou)! ### [`v1.7.11`](https://togithub.com/phpstan/phpstan/releases/tag/1.7.11) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.7.10...1.7.11) # Bleeding edge πŸ”ͺ - Add `@readonly` rule that disallows default values ([#​1391](https://togithub.com/phpstan/phpstan-src/pull/1391)), thanks [@​herndlm](https://togithub.com/herndlm)! *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)* # Bugfixes πŸ› - `BetterReflectionProvider::getClass()` - handle `InvalidIdentifierName` too (https://github.com/phpstan/phpstan-src/commit/64b0907db03da40ecb3d98bde905bbc3214bb08d), [#​7404](https://togithub.com/phpstan/phpstan/issues/7404) - BetterReflection: `ReflectionClass` adapter - implement `newInstance*` methods (https://github.com/ondrejmirtes/BetterReflection/commit/90dd5834447f8a184ff312855bdae2b793c34748), [https://github.com/phpstan/phpstan/discussions/7403](https://togithub.com/phpstan/phpstan/discussions/7403) ### [`v1.7.10`](https://togithub.com/phpstan/phpstan/releases/tag/1.7.10) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.7.9...1.7.10) # Improvements πŸ”§ - Adapt to different `vendor-dir` setting in `composer.json`, and also `COMPOSER` environment variable ([#​1384](https://togithub.com/phpstan/phpstan-src/pull/1384)), thanks [@​canvural](https://togithub.com/canvural)! # Bugfixes πŸ› - Fix BC break in `PHPStan\Node\ClassMethod` (https://github.com/phpstan/phpstan-src/commit/9b4a5913aa47d94acb47e3c06fce83db8ea5fd8b), https://github.com/phpstan/phpstan-src/commit/d0a9d084ea66be4afdf965dd51e1b6d91d36c6b7#r75178623 - Fix `TypeUtils::getDirectClassNames` for nested type ([#​1380](https://togithub.com/phpstan/phpstan-src/pull/1380)), thanks [@​mvorisek](https://togithub.com/mvorisek)! - Consistent gathering of all stub files for their analysis ([#​1355](https://togithub.com/phpstan/phpstan-src/pull/1355)), thanks [@​canvural](https://togithub.com/canvural)! - Dont report unsafe static if constructor is in both parent and interface ([#​1395](https://togithub.com/phpstan/phpstan-src/pull/1395)), [#​6007](https://togithub.com/phpstan/phpstan/issues/6007), thanks [@​canvural](https://togithub.com/canvural)! # Internals πŸ” - Added ` bin `into `phpcs.xml`, and applied it ([#​1393](https://togithub.com/phpstan/phpstan-src/pull/1393), [#​1394](https://togithub.com/phpstan/phpstan-src/pull/1394)), thanks [@​sasezaki](https://togithub.com/sasezaki)! ### [`v1.7.9`](https://togithub.com/phpstan/phpstan/releases/tag/1.7.9) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.7.8...1.7.9) # Improvements πŸ”§ - Read PHPDocs from trait stubs ([#​1390](https://togithub.com/phpstan/phpstan-src/pull/1390)), [#​5233](https://togithub.com/phpstan/phpstan/issues/5233), thanks [@​canvural](https://togithub.com/canvural)! - Infer `non-empty-string` on str-casing functions comparison with constant string ([#​1382](https://togithub.com/phpstan/phpstan-src/pull/1382)), thanks [@​staabm](https://togithub.com/staabm)! - Make trait properties and methods first class node citizens ([#​1370](https://togithub.com/phpstan/phpstan-src/pull/1370)), thanks [@​herndlm](https://togithub.com/herndlm)! # Bugfixes πŸ› - Support intersection types in `MutatingScope::getTypeToInstantiateForNew()` ([#​1388](https://togithub.com/phpstan/phpstan-src/pull/1388)), [#​7374](https://togithub.com/phpstan/phpstan/issues/7374), thanks [@​rvanvelzen](https://togithub.com/rvanvelzen)! ### [`v1.7.8`](https://togithub.com/phpstan/phpstan/releases/tag/1.7.8) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.7.7...1.7.8) # Improvements πŸ”§ - Update `nikic/php-parser` to 4.14.0 (https://github.com/phpstan/phpstan-src/commit/fbaab8f9a65fb0655b0322c792d914feb399e27e) # Bugfixes πŸ› - Improve unresolved template type checks for complex conditional types ([#​1377](https://togithub.com/phpstan/phpstan-src/pull/1377)), thanks [@​rvanvelzen](https://togithub.com/rvanvelzen)! - FileCacheStorage - suppress potential file load issue (https://github.com/phpstan/phpstan-src/commit/b73a3962176ddcb6c3ddcd1e6f688900ebe9df1f) - Do not overwrite promoted property PHPDoc with constructor PHPDoc ([#​1376](https://togithub.com/phpstan/phpstan-src/pull/1376)), [#​7361](https://togithub.com/phpstan/phpstan/issues/7361), thanks [@​herndlm](https://togithub.com/herndlm)! - Fix/native type specification ([#​1372](https://togithub.com/phpstan/phpstan-src/pull/1372)), thanks [@​rajyan](https://togithub.com/rajyan)! # Function signature fixes πŸ€– - Fix signatures of `PDO::pgsqlCopy{From,To}{Array,File}` ([#​1375](https://togithub.com/phpstan/phpstan-src/pull/1375)), thanks [@​takaram](https://togithub.com/takaram)! ### [`v1.7.7`](https://togithub.com/phpstan/phpstan/releases/tag/1.7.7) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.7.6...1.7.7) # Bugfixes πŸ› - AutoloadFunctionsSourceLocator - avoid ReflectionSourceStubber bugs by trying AutoloadSourceLocator first ([#​1373](https://togithub.com/phpstan/phpstan-src/pull/1373)), [#​7365](https://togithub.com/phpstan/phpstan/issues/7365), [#​7360](https://togithub.com/phpstan/phpstan/issues/7360), [#​7363](https://togithub.com/phpstan/phpstan/issues/7363) - BetterReflection - allow class autoloading for `invoke()` etc. (https://github.com/ondrejmirtes/BetterReflection/commit/2a0638be397dfe7aa30a5e530ebf7b59f9c1d4e7), [#​7333](https://togithub.com/phpstan/phpstan/issues/7333) ### [`v1.7.6`](https://togithub.com/phpstan/phpstan/releases/tag/1.7.6) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.7.5...1.7.6) # Bugfixes πŸ› - Rewrite the located identifier name with class aliases in mind ([#​1369](https://togithub.com/phpstan/phpstan-src/pull/1369)), [#​7308](https://togithub.com/phpstan/phpstan/issues/7308) - Class definition from autoloader should be preferred over PhpStorm stubs, [#​7357](https://togithub.com/phpstan/phpstan/issues/7357), [#​3634](https://togithub.com/phpstan/phpstan/issues/3634) ### [`v1.7.5`](https://togithub.com/phpstan/phpstan/releases/tag/1.7.5) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.7.4...1.7.5) # Bugfixes πŸ› Fixes for more custom autoloader scenarios ([#​7296](https://togithub.com/phpstan/phpstan/issues/7296), [#​7308](https://togithub.com/phpstan/phpstan/issues/7308)): - Create class reflection from runtime reflection after custom autoloader run ([#​1368](https://togithub.com/phpstan/phpstan-src/pull/1368)) - Additional fix to make class aliases work (https://github.com/phpstan/phpstan-src/commit/99acc024f9ac00abe202da492c29cb5081a13d0c) - Include custom autoloaders registered in Composer dependencies (https://github.com/phpstan/phpstan-src/commit/eab4542c4b8877c5f7e85d31d9aa688212f77a77) ### [`v1.7.4`](https://togithub.com/phpstan/phpstan/releases/tag/1.7.4) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.7.3...1.7.4) # Improvements πŸ”§ - Avoid additional irrelevant constructor-related checks in `UnusedPrivatePropertyRule` ([#​1360](https://togithub.com/phpstan/phpstan-src/pull/1360)), thanks [@​herndlm](https://togithub.com/herndlm)! # Bugfixes πŸ› - Fix `ConstantArrayType` optional key unsetting via `removeLastElements` ([#​1366](https://togithub.com/phpstan/phpstan-src/pull/1366)), [#​7351](https://togithub.com/phpstan/phpstan/issues/7351), thanks [@​herndlm](https://togithub.com/herndlm)! - Fix `array_walk` callback parameters ([#​1367](https://togithub.com/phpstan/phpstan-src/pull/1367)), thanks [@​rvanvelzen](https://togithub.com/rvanvelzen)! - Always resolve constants with namespace-aware logic (https://github.com/phpstan/phpstan-src/commit/e73f320b57951703927140b7ee27a4fa5da54b90), [#​7352](https://togithub.com/phpstan/phpstan/issues/7352) - Use trait property promotion in uninitialized props checks ([#​1362](https://togithub.com/phpstan/phpstan-src/pull/1362)), [#​7314](https://togithub.com/phpstan/phpstan/issues/7314), thanks [@​herndlm](https://togithub.com/herndlm)! - infer `non-empty-string` on `strstr()` comparison with constant string ([#​1365](https://togithub.com/phpstan/phpstan-src/pull/1365)), thanks [@​staabm](https://togithub.com/staabm)! # Function signature fixes πŸ€– - Fix `stream_bucket_make_writeable` ([#​1361](https://togithub.com/phpstan/phpstan-src/pull/1361)), [#​7341](https://togithub.com/phpstan/phpstan/issues/7341), thanks [@​VincentLanglet](https://togithub.com/VincentLanglet)! ### [`v1.7.3`](https://togithub.com/phpstan/phpstan/releases/tag/1.7.3) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.7.2...1.7.3) # Improvements πŸ”§ - [Docker image](https://phpstan.org/user-guide/docker): default tag uses PHP 8.0, introducing new tag for PHP 8.1 ([#​7334](https://togithub.com/phpstan/phpstan/issues/7334)): - `latest` + `latest-php8.0` use PHP 8.0 - `latest-php8.1` uses PHP 8.1 - `1` + `1-php8.0` use PHP 8.0 - `1-php8.1` uses PHP 8.1 - `1.7.3` + `1.7.3-php8.0` use PHP 8.0 - `1.7.3-php8.1` uses PHP 8.1 - `nightly` + `nightly-php8.0` use PHP 8.0 - `nightly-php8.1` uses PHP 8.1 - NodeScopeResolver: call `nodeCallback` for all attribute-related nodes ([#​1333](https://togithub.com/phpstan/phpstan-src/pull/1333)), [#​7071](https://togithub.com/phpstan/phpstan/issues/7071), thanks [@​janedbal](https://togithub.com/janedbal)! - Consistent approach to stubFiles + StubFilesExtension (https://github.com/phpstan/phpstan-src/commit/d3589dc5415f5a639ef68bc9dccd481922df50c5), [#​7330](https://togithub.com/phpstan/phpstan/issues/7330) - Consider optional keys in ConstantArrayType removeFirst and removeLast ([#​1352](https://togithub.com/phpstan/phpstan-src/pull/1352)), thanks [@​herndlm](https://togithub.com/herndlm)! - Consider optional keys in `ConstantArrayType::slice` ([#​1345](https://togithub.com/phpstan/phpstan-src/pull/1345)), thanks [@​herndlm](https://togithub.com/herndlm)! - Understand variadic arg type with `@no-named-args` ([#​1349](https://togithub.com/phpstan/phpstan-src/pull/1349)), [#​5968](https://togithub.com/phpstan/phpstan/issues/5968), thanks [@​jrmajor](https://togithub.com/jrmajor)! - Add `ArrayChunkFunctionReturnTypeExtension` ([#​1356](https://togithub.com/phpstan/phpstan-src/pull/1356)), [#​7277](https://togithub.com/phpstan/phpstan/issues/7277), thanks [@​herndlm](https://togithub.com/herndlm)! # Bugfixes πŸ› - TypeSpecifier - observe `hasSideEffects()` for static methods (https://github.com/phpstan/phpstan-src/commit/1182199bcffbb3f6cd73a1e5058020ecbbcfa02a), [#​7210](https://togithub.com/phpstan/phpstan/issues/7210) - Use ReadWritePropertiesExtensions in `MissingReadOnlyPropertyAssignRule` ([#​1357](https://togithub.com/phpstan/phpstan-src/pull/1357)), [#​6632](https://togithub.com/phpstan/phpstan/issues/6632), [#​7337](https://togithub.com/phpstan/phpstan/issues/7337), thanks [@​herndlm](https://togithub.com/herndlm)! # Function signature fixes πŸ€– - Fix incorrect type for `NumberFormatter:format()` and `NumberFormatter::formatCurrency()` ([#​1350](https://togithub.com/phpstan/phpstan-src/pull/1350)), thanks [@​MartkCz](https://togithub.com/MartkCz)! ### [`v1.7.2`](https://togithub.com/phpstan/phpstan/releases/tag/1.7.2) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.7.1...1.7.2) # Improvements πŸ”§ - Specify types from conditional return types ([#​1343](https://togithub.com/phpstan/phpstan-src/pull/1343)), thanks [@​rvanvelzen](https://togithub.com/rvanvelzen)! - Introduce CiDetectedErrorFormatter (https://github.com/phpstan/phpstan-src/commit/86cfb85437e38964154a23d343ade703efa44b6f), [#​7305](https://togithub.com/phpstan/phpstan/issues/7305) - Generic `AppendIterator` stub (https://github.com/phpstan/phpstan-src/commit/50cbc45cd5affb88b43efaff4edba39c5449768e), [https://github.com/phpstan/phpstan/discussions/7322](https://togithub.com/phpstan/phpstan/discussions/7322) # Bugfixes πŸ› - ConsistentConstructorRule - use defined parent constructor to compare ([#​1344](https://togithub.com/phpstan/phpstan-src/pull/1344)), [#​7307](https://togithub.com/phpstan/phpstan/issues/7307), thanks [@​canvural](https://togithub.com/canvural)! - Fix/issue with `isset` / `??` ([#​1351](https://togithub.com/phpstan/phpstan-src/pull/1351)), [#​7318](https://togithub.com/phpstan/phpstan/issues/7318), thanks [@​rajyan](https://togithub.com/rajyan)! - Fix static reflection issues with custom autoloaders (https://github.com/phpstan/phpstan-src/commit/6962280fde4815cb4eb5870e0d8ba1d4867b4cb0), [#​7308](https://togithub.com/phpstan/phpstan/issues/7308), [#​7306](https://togithub.com/phpstan/phpstan/issues/7306), [#​7293](https://togithub.com/phpstan/phpstan/issues/7293) ### [`v1.7.1`](https://togithub.com/phpstan/phpstan/releases/tag/1.7.1) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.7.0...1.7.1) # Improvements πŸ”§ - Simplify and cleanup `ArraySliceFunctionReturnTypeExtension` ([#​1341](https://togithub.com/phpstan/phpstan-src/pull/1341)), thanks [@​herndlm](https://togithub.com/herndlm)! # Bugfixes πŸ› - Properly support constant arrays in `array_reverse` ([#​1342](https://togithub.com/phpstan/phpstan-src/pull/1342)), thanks [@​herndlm](https://togithub.com/herndlm)! - ReflectionSourceStubber - do not make optional parameter without default value available nullable (fixes Phalcon reflection issue) (https://github.com/phpstan/phpstan/commit/7beee3d5db13cb1535915c2ec45d5b656be25f1a, https://github.com/ondrejmirtes/BetterReflection/commit/4495bf122966e316c2e171fcc940aa789f4746e4, https://github.com/phpstan/phpstan-src/commit/c24aa5a165bf7e5bd1cd5edc2a6aedbc238a0de3), [#​7294](https://togithub.com/phpstan/phpstan/issues/7294) ### [`v1.7.0`](https://togithub.com/phpstan/phpstan/releases/tag/1.7.0) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.6.9...1.7.0) This release closes **25 issues**! πŸ₯³ # Major new features πŸš€ - **Fully static reflection!** ([#​1265](https://togithub.com/phpstan/phpstan-src/pull/1265)) - PHPStan used runtime reflection before June 2020 (https://phpstan.org/blog/zero-config-analysis-with-static-reflection) and hybrid reflection after that - Analysed code is no longer executed, except for files referenced in `bootstrapFiles` and `files` sections in Composer `autoload` configuration - This prevents various fatal errors during analysis - Also solves edge cases like [#​7077](https://togithub.com/phpstan/phpstan/issues/7077), [#​7019](https://togithub.com/phpstan/phpstan/issues/7019) - Native reflection is always `BetterReflection` adapter ([https://github.com/phpstan/phpstan-src/pull/1265](https://togithub.com/phpstan/phpstan-src/pull/1265)/commits/ef603397df6036647f6b030407b3316159dc330f) - Global constants no longer have to be defined in `bootstrapFiles` ([#​1277](https://togithub.com/phpstan/phpstan-src/pull/1277), [#​1282](https://togithub.com/phpstan/phpstan-src/pull/1282)), thanks [@​kukulich](https://togithub.com/kukulich)! - Implement `@phpstan-consistent-constructor` and add a new rule as another way to supress `new static()` issues ([#​1296](https://togithub.com/phpstan/phpstan-src/pull/1296)), thanks [@​canvural](https://togithub.com/canvural)! - See the update article: https://phpstan.org/blog/solving-phpstan-error-unsafe-usage-of-new-static - Offset/index access PHPDoc type ([https://github.com/phpstan/phpdoc-parser/pull/119](https://togithub.com/phpstan/phpdoc-parser/pull/119), [#​1318](https://togithub.com/phpstan/phpstan-src/pull/1318)), [#​7094](https://togithub.com/phpstan/phpstan/issues/7094), thanks [@​rvanvelzen](https://togithub.com/rvanvelzen)! # Bleeding edge πŸ”ͺ - Unresolvable parameters ([#​1319](https://togithub.com/phpstan/phpstan-src/pull/1319)), thanks [@​rvanvelzen](https://togithub.com/rvanvelzen)! - Support `@readonly` property and `@immutable` class PHPDoc ([#​1295](https://togithub.com/phpstan/phpstan-src/pull/1295), [#​1335](https://togithub.com/phpstan/phpstan-src/pull/1335)), [#​4082](https://togithub.com/phpstan/phpstan/issues/4082), thanks [@​herndlm](https://togithub.com/herndlm)! *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 πŸ”§ - Allow setting error format in configuration file ([#​841](https://togithub.com/phpstan/phpstan-src/pull/841)), thanks [@​ruudk](https://togithub.com/ruudk)! - Deprecated `PHPStan\Type\ConstantTypeHelper::getTypeFromValue()`. Instead of going from runtime value -> PHPStan type, use `PHPStan\Reflection\InitializerExprTypeResolver::getType()` to go from Expr -> PHPStan type. In case you have `Scope` available, use `Scope::getType()`. - Read default values from php-8-stubs and jetbrains/phpstorm-stubs (https://github.com/phpstan/phpstan-src/commit/7ce177e71b7f6b363d07585015ed2e2c08e9a32e) - Normalize named arguments when calling extensions ([#​1301](https://togithub.com/phpstan/phpstan-src/pull/1301), [#​1313](https://togithub.com/phpstan/phpstan-src/pull/1313)), [#​5866](https://togithub.com/phpstan/phpstan/issues/5866), thanks [@​staabm](https://togithub.com/staabm)! - implement str-case functions return type extension ([#​1325](https://togithub.com/phpstan/phpstan-src/pull/1325)), thanks [@​staabm](https://togithub.com/staabm)! - ClearResultCacheCommand: allow `--debug` flag (https://github.com/phpstan/phpstan-src/commit/5f5b96d432207395dc7371f62a9d52081f56a405) # Bugfixes πŸ› - Fix `get_class` on enum case ([#​1272](https://togithub.com/phpstan/phpstan-src/pull/1272)), [#​7167](https://togithub.com/phpstan/phpstan/issues/7167), thanks [@​olsavmic](https://togithub.com/olsavmic)! - Keep template types when using `::class` ([#​1271](https://togithub.com/phpstan/phpstan-src/pull/1271)), [#​6864](https://togithub.com/phpstan/phpstan/issues/6864), [#​6986](https://togithub.com/phpstan/phpstan/issues/6986), thanks [@​olsavmic](https://togithub.com/olsavmic)! - Fix supertype checks for conditional types ([#​1287](https://togithub.com/phpstan/phpstan-src/pull/1287)), thanks [@​rvanvelzen](https://togithub.com/rvanvelzen)! - Fix using `value-of`/`key-of` with template types ([#​1288](https://togithub.com/phpstan/phpstan-src/pull/1288)), thanks [@​rvanvelzen](https://togithub.com/rvanvelzen)! - Invalidate `openssl_error_string` after openssl function calls ([#​1292](https://togithub.com/phpstan/phpstan-src/pull/1292)), [#​7106](https://togithub.com/phpstan/phpstan/issues/7106), thanks [@​pbourdet](https://togithub.com/pbourdet)! - Fix initializer expr ConstFetch (https://github.com/phpstan/phpstan-src/commit/761d1168224f5fdda4ffa0c5ba7d8069f6a79987), [#​4950](https://togithub.com/phpstan/phpstan/issues/4950) - Fix various things around `isset()` and `ArrayDimFetch` ([#​1307](https://togithub.com/phpstan/phpstan-src/pull/1307)), [#​6508](https://togithub.com/phpstan/phpstan/issues/6508), [#​7000](https://togithub.com/phpstan/phpstan/issues/7000), [#​7190](https://togithub.com/phpstan/phpstan/issues/7190), [#​7144](https://togithub.com/phpstan/phpstan/issues/7144), thanks [@​rajyan](https://togithub.com/rajyan)! - Fix call to `DatePeriod` constructor with named arguments (https://github.com/phpstan/phpstan-src/commit/59453678ac863bd3293e03fe355e0f17a33783b9), [#​7048](https://togithub.com/phpstan/phpstan/issues/7048), [#​5553](https://togithub.com/phpstan/phpstan/issues/5553) - Prevent redundant messages about missing iterable types in conditional target/subject ([#​1314](https://togithub.com/phpstan/phpstan-src/pull/1314)), [#​7215](https://togithub.com/phpstan/phpstan/issues/7215), thanks [@​rvanvelzen](https://togithub.com/rvanvelzen)! - StubSourceLocatorFactory - read files from StubFilesExtension (https://github.com/phpstan/phpstan-src/commit/0ecddcca760fc220b1a907d921b2d2c02809551f) - improve `is_subclass_of` type checks ([#​1321](https://togithub.com/phpstan/phpstan-src/pull/1321)), [#​2755](https://togithub.com/phpstan/phpstan/issues/2755), thanks [@​staabm](https://togithub.com/staabm)! - allow `$isOffsetAccessible->maybe()` for isUndefinedExpressionAllowed and isSpecified expression ([#​1312](https://togithub.com/phpstan/phpstan-src/pull/1312)), [#​7229](https://togithub.com/phpstan/phpstan/issues/7229), thanks [@​rajyan](https://togithub.com/rajyan)! - Fix constant array comparison for optional keys ([#​1324](https://togithub.com/phpstan/phpstan-src/pull/1324)), [#​7248](https://togithub.com/phpstan/phpstan/issues/7248), thanks [@​rvanvelzen](https://togithub.com/rvanvelzen)! - Simplify resolving constant scalar identical expressions ([#​1329](https://togithub.com/phpstan/phpstan-src/pull/1329)), thanks [@​rvanvelzen](https://togithub.com/rvanvelzen)! - Use `ConstructorsHelper` in `ReadOnlyByPhpDocPropertyAssignRule` and `ReadOnlyPropertyAssignRule` ([#​1328](https://togithub.com/phpstan/phpstan-src/pull/1328)), [#​6612](https://togithub.com/phpstan/phpstan/issues/6612), thanks [@​herndlm](https://togithub.com/herndlm)! - Class attributes should also be included in class statements ([#​1338](https://togithub.com/phpstan/phpstan-src/pull/1338)), [#​7116](https://togithub.com/phpstan/phpstan/issues/7116), thanks [@​bartv2](https://togithub.com/bartv2)! - Use trait properties in uninitialized props checks ([#​1340](https://togithub.com/phpstan/phpstan-src/pull/1340)), [#​7219](https://togithub.com/phpstan/phpstan/issues/7219), thanks [@​herndlm](https://togithub.com/herndlm)! - Improve `array_reverse` with constant arrays ([#​1337](https://togithub.com/phpstan/phpstan-src/pull/1337)), [#​7278](https://togithub.com/phpstan/phpstan/issues/7278), thanks [@​herndlm](https://togithub.com/herndlm)! # Function signature fixes πŸ€– - Replace `var_export()` extension with conditional-type stub ([#​1244](https://togithub.com/phpstan/phpstan-src/pull/1244)), thanks [@​staabm](https://togithub.com/staabm)! - Use conditional types for `is_a()` via stub ([#​1310](https://togithub.com/phpstan/phpstan/issues/1310)) ([#​1310](https://togithub.com/phpstan/phpstan-src/pull/1310), [#​1311](https://togithub.com/phpstan/phpstan-src/pull/1311)), [#​4371](https://togithub.com/phpstan/phpstan/issues/4371), thanks [@​staabm](https://togithub.com/staabm)! - Narrow the type for the `mb_ereg_replace_callback()` callable. ([#​1316](https://togithub.com/phpstan/phpstan-src/pull/1316)), thanks [@​johnbillion](https://togithub.com/johnbillion)! - Add an array shape for the elements returned by `DateTimeZone::getTransitions()`. ([#​1315](https://togithub.com/phpstan/phpstan-src/pull/1315)), thanks [@​johnbillion](https://togithub.com/johnbillion)! - Fix incorrect argument for `RedisCluster::getOption()` and `RedisCluster::setOption()` ([#​1334](https://togithub.com/phpstan/phpstan-src/pull/1334)), thanks [@​taka-oyama](https://togithub.com/taka-oyama)!
symfony/console ### [`v6.1.2`](https://togithub.com/symfony/console/releases/tag/v6.1.2) [Compare Source](https://togithub.com/symfony/console/compare/v6.1.1...v6.1.2) **Changelog** (https://github.com/symfony/console/compare/v6.1.1...v6.1.2) - bug [#​46747](https://togithub.com/symfony/console/issues/46747) Fix global state pollution between tests run with ApplicationTester (Seldaek) ### [`v6.1.1`](https://togithub.com/symfony/console/releases/tag/v6.1.1) [Compare Source](https://togithub.com/symfony/console/compare/v6.1.0...v6.1.1) **Changelog** (https://github.com/symfony/console/compare/v6.1.0...v6.1.1) - bug [#​46608](https://togithub.com/symfony/console/issues/46608) Fix deprecation when description is null (HypeMC) - bug [#​46574](https://togithub.com/symfony/console/issues/46574) Escape % in command name & description from PHP (getDefault\* methods) (ogizanagi) ### [`v6.1.0`](https://togithub.com/symfony/console/releases/tag/v6.1.0) [Compare Source](https://togithub.com/symfony/console/compare/v6.0.10...v6.1.0) **Changelog** (https://github.com/symfony/console/compare/v6.1.0-RC1...v6.1.0) - bug [#​46387](https://togithub.com/symfony/console/issues/46387) Complete negatable options (Fish) (GromNaN) ### [`v6.0.10`](https://togithub.com/symfony/console/releases/tag/v6.0.10) [Compare Source](https://togithub.com/symfony/console/compare/v6.0.9...v6.0.10) **Changelog** (https://github.com/symfony/console/compare/v6.0.9...v6.0.10) - bug [#​46747](https://togithub.com/symfony/console/issues/46747) Fix global state pollution between tests run with ApplicationTester (Seldaek) - bug [#​46608](https://togithub.com/symfony/console/issues/46608) Fix deprecation when description is null (HypeMC) - bug [#​46595](https://togithub.com/symfony/console/issues/46595) Escape % in command name & description from getDefaultName() (ogizanagi) - bug [#​46574](https://togithub.com/symfony/console/issues/46574) Escape % in command name & description from PHP (getDefault\* methods) (ogizanagi) ### [`v6.0.9`](https://togithub.com/symfony/console/releases/tag/v6.0.9) [Compare Source](https://togithub.com/symfony/console/compare/v6.0.8...v6.0.9) **Changelog** (https://github.com/symfony/console/compare/v6.0.8...v6.0.9) - bug [#​46386](https://togithub.com/symfony/console/issues/46386) Β Fix missing negative variation of negatable options in shell completion (GromNaN) - bug [#​46114](https://togithub.com/symfony/console/issues/46114) Fixes "Incorrectly nested style tag found" error when using multi-line header content (Perturbatio) - bug [#​46341](https://togithub.com/symfony/console/issues/46341) Fix aliases handling in command name completion (Seldaek) - bug [#​46291](https://togithub.com/symfony/console/issues/46291) Suppress unhandled error in some specific use-cases. (rw4lll) - bug [#​46264](https://togithub.com/symfony/console/issues/46264) Better required argument check in InputArgument (jnoordsij)
symfony/Finder ### [`v6.1.0`](https://togithub.com/symfony/finder/releases/tag/v6.1.0) [Compare Source](https://togithub.com/symfony/Finder/compare/v6.0.8...v6.1.0) **Changelog** (https://github.com/symfony/finder/compare/v6.1.0-RC1...v6.1.0) - no significant changes

Configuration

πŸ“… Schedule: Branch creation - "before 3am 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.