Closed renovate[bot] closed 1 year ago
Because you closed this PR without merging, Renovate will ignore this update (1.10.19). You will get a PR once a newer version is released. To ignore this dependency forever, add it to the ignoreDeps
array of your Renovate config.
If you accidentally closed this PR, or if you changed your mind: rename this PR to get a fresh replacement PR.
This PR contains the following updates:
1.9.2
->1.10.19
10.0.0
->10.2.2
Release Notes
phpstan/phpstan
### [`v1.10.19`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.19) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.10.18...1.10.19) # Bleeding edge πͺ - Analysis with zero files results in non-zero exit code (https://github.com/phpstan/phpstan-src/commit/46ff440648e62617df86aa74ba905ffa99897737), [#9410](https://togithub.com/phpstan/phpstan/issues/9410) *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 π§ - Detect invalid key in multi dimensional array fetch ([#2445](https://togithub.com/phpstan/phpstan-src/pull/2445)), [#6315](https://togithub.com/phpstan/phpstan/issues/6315), thanks [@schlndh](https://togithub.com/schlndh)! - Support unions of scalars in `sprintf()` arguments (https://github.com/phpstan/phpstan-src/commit/1f955703eea90b7bdf8439ede81a5c6adda85af1) - Update nikic/php-parser (https://github.com/phpstan/phpstan-src/commit/51a284b8a8c04a06f430063f0267e168c048d88a) - Update BetterReflection (https://github.com/phpstan/phpstan-src/commit/ff8ad7e9b3933911d321846bc43f678a43b067d8) # Bugfixes π - UnusedPrivatePropertyRule - recognize static properties fetched on expr (https://github.com/phpstan/phpstan-src/commit/503978b05e412477d72bb5d846dade3c246f0f70), [#9409](https://togithub.com/phpstan/phpstan/issues/9409), [#8541](https://togithub.com/phpstan/phpstan/issues/8541) - Union of enum cases accepts the enum class type with negated cases ([#2418](https://togithub.com/phpstan/phpstan-src/pull/2418)), [#8846](https://togithub.com/phpstan/phpstan/issues/8846), thanks [@takaram](https://togithub.com/takaram)! - Fix key type of superglobal variables ([#2446](https://togithub.com/phpstan/phpstan-src/pull/2446)), [#9306](https://togithub.com/phpstan/phpstan/issues/9306), thanks [@schlndh](https://togithub.com/schlndh)! - Do not treat definition of functions and class-likes as unreachable ([#2263](https://togithub.com/phpstan/phpstan-src/pull/2263)), [#4002](https://togithub.com/phpstan/phpstan/issues/4002), [#8966](https://togithub.com/phpstan/phpstan/issues/8966), [#8319](https://togithub.com/phpstan/phpstan/issues/8319), thanks [@takaram](https://togithub.com/takaram)! # Function signature fixes π€ - Allow `Redis::connect()` to have 7 parameters ([#2442](https://togithub.com/phpstan/phpstan-src/pull/2442)), [#9413](https://togithub.com/phpstan/phpstan/issues/9413), thanks [@thbley](https://togithub.com/thbley)! # Internals π - StringAlwaysAcceptingObjectWithToStringType is supertype of Stringable objects (https://github.com/phpstan/phpstan-src/commit/9de9efa67facca90b5c5c97851eaf8afff310b4e) ### [`v1.10.18`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.18) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.10.17...1.10.18) Implicit throw point is enough to no longer mark multi-catch as dead (https://github.com/phpstan/phpstan-src/commit/c587dd1d870f7a67623e1a3bb7f2811fda688bab), [#9406](https://togithub.com/phpstan/phpstan/issues/9406) ### [`v1.10.17`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.17) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.10.16...1.10.17) # Improvements π§ - StubValidator - add missing rules about type aliases (https://github.com/phpstan/phpstan-src/commit/8bb45376ca37a9d67a9a0362809b663cd7567e11) # Bugfixes π - Fix more `in_array` issues ([#2432](https://togithub.com/phpstan/phpstan-src/pull/2432)), [#6959](https://togithub.com/phpstan/phpstan/issues/6959), thanks [@schlndh](https://togithub.com/schlndh)! - Fix overriding `__debugInfo` with covariant return type ([#2435](https://togithub.com/phpstan/phpstan-src/pull/2435)), [#9391](https://togithub.com/phpstan/phpstan/issues/9391), thanks [@staabm](https://togithub.com/staabm)! - Improve `Map::remove()` `@throws` inference ([#2434](https://togithub.com/phpstan/phpstan-src/pull/2434)), [#9066](https://togithub.com/phpstan/phpstan/issues/9066), thanks [@baci266](https://togithub.com/baci266)! - `array_is_list` narrows the type even when not on Bleeding Edge (https://github.com/phpstan/phpstan-src/commit/de2566adeafe5ca36a3517f0a4e3c147d63f037a), [#9381](https://togithub.com/phpstan/phpstan/issues/9381) - AutoloadSourceLocator - do not execute autoloader if the class already exists but is evaled (https://github.com/phpstan/phpstan-src/commit/32b889dd29202eb545d8558b1c93a6b804828d8d), [#7960](https://togithub.com/phpstan/phpstan/issues/7960) - EnumSanityRule - use scope inside enum (https://github.com/phpstan/phpstan-src/commit/04af510e5649a834f2e99750007048ba686ad995), [#9402](https://togithub.com/phpstan/phpstan/issues/9402) - Fix native type of array after `array_push()` (https://github.com/phpstan/phpstan-src/commit/564f79f96c6104cda479a3d0319af356d1b166ad), [#9403](https://togithub.com/phpstan/phpstan/issues/9403) - Refactor pieces looking for dead code for more precise detection of properties, methods, constants (https://github.com/phpstan/phpstan-src/commit/d09401df4514a16eb38334cf4187093a4e66eefb, https://github.com/phpstan/phpstan-src/commit/ffc0495d89763b65d93256928cb95bc4b07f6138), [#8412](https://togithub.com/phpstan/phpstan/issues/8412), [#8958](https://togithub.com/phpstan/phpstan/issues/8958), [#8563](https://togithub.com/phpstan/phpstan/issues/8563), thanks [@takaram](https://togithub.com/takaram)! - Fix param-type specification interfering with root-expression types ([#2439](https://togithub.com/phpstan/phpstan-src/pull/2439)), [#9404](https://togithub.com/phpstan/phpstan/issues/9404), thanks [@staabm](https://togithub.com/staabm)! # Function signature fixes π€ - More precise `getimagesize*` return type ([#2438](https://togithub.com/phpstan/phpstan-src/pull/2438)), thanks [@staabm](https://togithub.com/staabm)! - base64\_decode returns false only in strict mode ([#2419](https://togithub.com/phpstan/phpstan-src/pull/2419)), thanks [@kamil-tekiela](https://togithub.com/kamil-tekiela)! # Internals π - Minor refinements to MutatingScope `empty()` and typehint helper ([#2430](https://togithub.com/phpstan/phpstan-src/pull/2430)), thanks [@mad-briller](https://togithub.com/mad-briller)! ### [`v1.10.16`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.16) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.10.15...1.10.16) # Bleeding edge πͺ - Report dead types even in multi-exception catch ([#2399](https://togithub.com/phpstan/phpstan-src/pull/2399)), thanks [@JanTvrdik](https://togithub.com/JanTvrdik)! - `error_log` errors with `message_type=2` ([#2428](https://togithub.com/phpstan/phpstan-src/pull/2428)), [#9380](https://togithub.com/phpstan/phpstan/issues/9380), 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 π§ - `CallableType` and `ClosureType::describe()` - use phpdoc-parser Printer for better precision (https://github.com/phpstan/phpstan-src/commit/30f60c18f5efa9e7d5a5495c90f901178cf17a57), [#9268](https://togithub.com/phpstan/phpstan/issues/9268) - `OffsetAccessType::describe()` uses toPhpDocNode and phpdoc-parser printer (https://github.com/phpstan/phpstan-src/commit/347fdbf2caa4d889d9e59af12fc1049a2aa608bb) - Smarter `extract()` with constant arrays ([#2417](https://togithub.com/phpstan/phpstan-src/pull/2417)), [#9331](https://togithub.com/phpstan/phpstan/issues/9331), thanks [@MartinMystikJonas](https://togithub.com/MartinMystikJonas)! - Detect more issues in enum declarations ([#2371](https://togithub.com/phpstan/phpstan-src/pull/2371)), [#9184](https://togithub.com/phpstan/phpstan/issues/9184), thanks [@kubk](https://togithub.com/kubk)! - Correct magic signature methods when typehints are missing ([#2409](https://togithub.com/phpstan/phpstan-src/pull/2409)), thanks [@staabm](https://togithub.com/staabm)! # Bugfixes π - Fix `SplDoublyLinkedList::offsetGet` return type ([#2373](https://togithub.com/phpstan/phpstan-src/pull/2373)), [#9274](https://togithub.com/phpstan/phpstan/issues/9274), thanks [@takaram](https://togithub.com/takaram)! - Delegate `get_called_class()` to `static::class` (https://github.com/phpstan/phpstan-src/commit/188acf440787c611fa86344b84fe1f41f027e4f6), [#7574](https://togithub.com/phpstan/phpstan/issues/7574), [#5252](https://togithub.com/phpstan/phpstan/issues/5252), [#4061](https://togithub.com/phpstan/phpstan/issues/4061) - Fix enum type subtracting ([#2415](https://togithub.com/phpstan/phpstan-src/pull/2415)), thanks [@schlndh](https://togithub.com/schlndh)! - Fix loose comparison against enum ([#2410](https://togithub.com/phpstan/phpstan-src/pull/2410)), thanks [@schlndh](https://togithub.com/schlndh)! # Internals π - NodeScopeResolver: refactor matching throw points computation ([#2399](https://togithub.com/phpstan/phpstan-src/pull/2399)), thanks [@JanTvrdik](https://togithub.com/JanTvrdik)! - ConstantArrayType - `toPhpDocNode` without keys if they are not necessary (https://github.com/phpstan/phpstan-src/commit/413079d807433cffac4dc9c33535920ff5bfeb18) - Test `@var` in and out of function (https://github.com/phpstan/phpstan-src/commit/4e1934796a74ba49e2ef980894b66d3d5ba2b656), [#9331](https://togithub.com/phpstan/phpstan/issues/9331) ### [`v1.10.15`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.15) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.10.14...1.10.15) # Bleeding edge πͺ - InvalidPhpDocTagValueRule: include PHPDoc line number in the error message (https://github.com/phpstan/phpstan-src/commit/a04e0be832900749b5b4ba22e2de21db8bfa09a0) *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 π§ - Update phpdoc-parser to 1.20.4 - [Changelog](https://togithub.com/phpstan/phpdoc-parser/compare/f545fc30978190a056832aa7ed995e36a66267f3...7d568c87a9df9c5f7e8b5f075fc469aa8cb0a4cd) - Notable changes: - CallableTypeNode - support object shape in return type - CallableTypeNode - support `$this` in return type - CallableTypeNode - support ConstTypeNode in return type - Implement IniGetReturnTypeExtension ([#2362](https://togithub.com/phpstan/phpstan-src/pull/2362)), [#3063](https://togithub.com/phpstan/phpstan/issues/3063), thanks [@staabm](https://togithub.com/staabm)! - PHPStan\Node\ClassMethod is covered by BC promise (https://github.com/phpstan/phpstan-src/commit/1036d199c8ef24c62ca5026c911c0af6ef6d9058), [#9249](https://togithub.com/phpstan/phpstan/issues/9249) - Enforce magic `__serialize()` and `__unserialize()` return types ([#2372](https://togithub.com/phpstan/phpstan-src/pull/2372)), thanks [@staabm](https://togithub.com/staabm)! - Report `?->` call on always-null (https://github.com/phpstan/phpstan-src/commit/74d1c9a1ca1cd6199a8771444e9bc4d6b7737f46), [#9284](https://togithub.com/phpstan/phpstan/issues/9284) # Bugfixes π - Fix object shapes with interfaces and final classes (https://github.com/phpstan/phpstan-src/commit/f199980c3c436636cae59502da178c4c804efb38) - Fix `ConstantFloatType::toPhpDocNode()` for whole numbers ending with 0 ([#2355](https://togithub.com/phpstan/phpstan-src/pull/2355)), thanks [@rvanvelzen](https://togithub.com/rvanvelzen)! - Add type for ini_get() 'default_socket_timeout' and 'precision' ([#2365](https://togithub.com/phpstan/phpstan-src/pull/2365)), thanks [@staabm](https://togithub.com/staabm)! - Fix Docker detection (https://github.com/phpstan/phpstan-src/commit/8d0c032d19cd6ca9bb8462f8cf74362b2b4a6ae9) - strval accepts Stringable (https://github.com/phpstan/phpstan-src/commit/3a4cd59e46e72fe26119ab356e62a288367643d4), [#9283](https://togithub.com/phpstan/phpstan/issues/9283) - `CURLOPT_HTTPHEADER` should not accept a dictionary ([#2369](https://togithub.com/phpstan/phpstan-src/pull/2369)), [#9263](https://togithub.com/phpstan/phpstan/issues/9263), thanks [@staabm](https://togithub.com/staabm)! # Function signature fixes π€ - `intval()` and `floatval()` should handle non-scalar values ([#2351](https://togithub.com/phpstan/phpstan-src/pull/2351)), thanks [@dravnic](https://togithub.com/dravnic)! - More precise `strval()` family function signatures ([#2354](https://togithub.com/phpstan/phpstan-src/pull/2354)), thanks [@dravnic](https://togithub.com/dravnic)! # Internals π - Allow referencing StringAlwaysAcceptingObjectWithToStringType in functionMap (https://github.com/phpstan/phpstan-src/commit/670d04d817134929a48e9313525a328f648fa422) ### [`v1.10.14`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.14) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.10.13...1.10.14) # Bleeding edge πͺ - Check `filter_input*` type param type ([#2271](https://togithub.com/phpstan/phpstan-src/pull/2271)), 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 π§ - Update phpdoc-parser - [Changelog](https://togithub.com/phpstan/phpdoc-parser/compare/22dcdfd725ddf99583bfe398fc624ad6c5004a0f...f545fc30978190a056832aa7ed995e36a66267f3) - Add extension to add additional constructors through code ([#2348](https://togithub.com/phpstan/phpstan-src/pull/2348)), thanks [@raalderink](https://togithub.com/raalderink)! - [https://github.com/phpstan/phpstan-symfony/issues/346](https://togithub.com/phpstan/phpstan-symfony/issues/346) # Bugfixes π - Fix `BackedEnum::tryFrom` not being nullable ([#2302](https://togithub.com/phpstan/phpstan-src/pull/2302)), thanks [@schlndh](https://togithub.com/schlndh)! - Specify `never` for `array_combine` with different number of elements ([#2303](https://togithub.com/phpstan/phpstan-src/pull/2303)), thanks [@herndlm](https://togithub.com/herndlm)! - ConstantFloatType - fix `equals()` (https://github.com/phpstan/phpstan-src/commit/e01ce6865f9498340d60c696ee569080f2f62b09) - Fix INF logic (https://github.com/phpstan/phpstan-src/commit/fc673ee9966b7fce1a7ec8f1ca40952a3772a3b1) - Prevent false-positive in `get_parent_class()` on interfaces ([#2336](https://togithub.com/phpstan/phpstan-src/pull/2336)), [#4302](https://togithub.com/phpstan/phpstan/issues/4302), thanks [@staabm](https://togithub.com/staabm)! # Function signature fixes π€ - Fix `Memcache/MemcachePool::get` method signature ([#2344](https://togithub.com/phpstan/phpstan-src/pull/2344)), thanks [@dravnic](https://togithub.com/dravnic)! # Internals π - `Type::toPhpDocNode()` (https://github.com/phpstan/phpstan-src/commit/8633125f66aadce22938adc3a32b8463596513d0) - Remove `symfony/polyfill-php72` (https://github.com/phpstan/phpstan-src/commit/8ff8fb0bfb1c9511600f5e14fcf6063e1654b2d5) ### [`v1.10.13`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.13) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.10.12...1.10.13) - Fix internal error: FilterVarArrayDynamicReturnTypeExtension for `mixed` input ([#2338](https://togithub.com/phpstan/phpstan-src/pull/2338)), [#9178](https://togithub.com/phpstan/phpstan/issues/9178), thanks [@zonuexe](https://togithub.com/zonuexe)! ### [`v1.10.12`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.12) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.10.11...1.10.12) # Major new features π - Object shapes, [#2923](https://togithub.com/phpstan/phpstan/issues/2923) - [Documentation](https://phpstan.org/writing-php-code/phpdoc-types#object-shapes) - [Twitter thread](https://twitter.com/OndrejMirtes/status/1643873013731844096) about implementing it - [phpdoc-parser implementation](https://togithub.com/phpstan/phpdoc-parser/commit/882eabc9b6a12e25c27091a261397f9c8792e722) # Bleeding edge πͺ - Stricter function signature map (https://github.com/phpstan/phpstan-src/commit/06b746d8e72cc0843707896ec161559bb6a81137, [#2163](https://togithub.com/phpstan/phpstan-src/pull/2163)), [#7239](https://togithub.com/phpstan/phpstan/issues/7239), thanks [@staabm](https://togithub.com/staabm)! - Specify `Imagick` parameter types ([#2334](https://togithub.com/phpstan/phpstan-src/pull/2334)), thanks [@zonuexe](https://togithub.com/zonuexe)! *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 π§ - Improve `filter_*` array handling, support `FILTER_REQUIRE_ARRAY` ([#2318](https://togithub.com/phpstan/phpstan-src/pull/2318)), thanks [@herndlm](https://togithub.com/herndlm)! - Asymmetric `@property` types ([#2327](https://togithub.com/phpstan/phpstan-src/pull/2327), [#2328](https://togithub.com/phpstan/phpstan-src/pull/2328), [#2329](https://togithub.com/phpstan/phpstan-src/pull/2329)), [#9062](https://togithub.com/phpstan/phpstan/issues/9062), thanks [@jtojnar](https://togithub.com/jtojnar)! - Specify return type for `filter_input()` ([#2010](https://togithub.com/phpstan/phpstan-src/pull/2010)), [#6261](https://togithub.com/phpstan/phpstan/issues/6261), thanks [@herndlm](https://togithub.com/herndlm)! - Improve return type precision of `filter_input` with invalid first args ([#2333](https://togithub.com/phpstan/phpstan-src/pull/2333)), thanks [@herndlm](https://togithub.com/herndlm)! - Allow `@property` and `@method` to override above the same class (https://github.com/phpstan/phpstan-src/commit/3467a215cf4fdb0a7ba39edd47f986cb9910902f) - Add `FilterVarArrayDynamicReturnTypeExtension` ([#2257](https://togithub.com/phpstan/phpstan-src/pull/2257)), thanks [@zonuexe](https://togithub.com/zonuexe)! # Bugfixes π - Fix usage of `TypeSpecifierContext::truthy()` ([#2230](https://togithub.com/phpstan/phpstan-src/pull/2230)), [#3013](https://togithub.com/phpstan/phpstan/issues/3013), [#7686](https://togithub.com/phpstan/phpstan/issues/7686), thanks [@VincentLanglet](https://togithub.com/VincentLanglet)! - Parent template type should respect child class bound when unspecified (https://github.com/phpstan/phpstan-src/commit/1017dc7bc7c997e07c488088a199427790c5ef5a), [https://github.com/phpstan/phpstan-doctrine/issues/333](https://togithub.com/phpstan/phpstan-doctrine/issues/333) - Fix bug with match expression and `treatPhpDocTypesAsCertain` ([#2250](https://togithub.com/phpstan/phpstan-src/pull/2250)), [#8937](https://togithub.com/phpstan/phpstan/issues/8937), thanks [@VincentLanglet](https://togithub.com/VincentLanglet)! - Generics: fix position variance of readonly-by-phpdoc properties ([#2337](https://togithub.com/phpstan/phpstan-src/pull/2337)), [#9153](https://togithub.com/phpstan/phpstan/issues/9153), thanks [@jiripudil](https://togithub.com/jiripudil)! - PHPStan Pro - show errors from CollectedData (https://github.com/phpstan/phpstan-src/commit/b85a9613be49b917133a97ff20d0d94a0aa07876) - Fix methods in IntersectionTypePropertyReflection (https://github.com/phpstan/phpstan-src/commit/d1c4c6d014eea52895b4c0655777134e1cd3c7ce) # Function signature fixes π€ - Improve Imagick method types ([#2325](https://togithub.com/phpstan/phpstan-src/pull/2325)), thanks [@zonuexe](https://togithub.com/zonuexe)! # Internals π - Switch to `cweagans/composer-patches` ([#2307](https://togithub.com/phpstan/phpstan-src/pull/2307)), thanks [@herndlm](https://togithub.com/herndlm)! - WritingToReadOnlyPropertiesRule - hook on better node (https://github.com/phpstan/phpstan-src/commit/bddf57352f07f3a5007afb26cc44445c6344d35b) - Validate usages of `assert*` functions in TypeInferenceTestCase ([#2326](https://togithub.com/phpstan/phpstan-src/pull/2326)), thanks [@staabm](https://togithub.com/staabm)! ### [`v1.10.11`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.11) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.10.10...1.10.11) # Bleeding edge πͺ - Fix position variance of static method parameters ([#2313](https://togithub.com/phpstan/phpstan-src/pull/2313)), thanks [@jiripudil](https://togithub.com/jiripudil)! - Check variance of template types in properties ([#2314](https://togithub.com/phpstan/phpstan-src/pull/2314)), thanks [@jiripudil](https://togithub.com/jiripudil)! - OverridingMethodRule - include template types in prototype declaring class description (https://github.com/phpstan/phpstan-src/commit/ca2c66cc4dff59ba44d52b82cb9e0aa3256240f3) *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 π§ - Helper PHPDoc type: `template-type` (calling `Type::getTemplateType()` method) (https://github.com/phpstan/phpstan-src/commit/b6d0c87db5c418d5ea4a026790f6e4c1df3da184), [https://github.com/phpstan/phpstan/discussions/9053](https://togithub.com/phpstan/phpstan/discussions/9053) - Some useful advanced PHPDoc types (https://github.com/phpstan/phpstan-src/commit/387ebd5059990086444e993cc0fb40e167cc71c6) - `enum-string` - `empty-scalar` - `non-empty-scalar` - `non-empty-literal-string` - `pure-callable` - `closed-resource` - `non-empty-mixed` - `callable-array` - RuleErrorBuilder - support multiple tips nicely (https://github.com/phpstan/phpstan-src/commit/e06c529ffc64f84c11ef0e6cd0a9725c6862666c) - StrictComparisonOfDifferentTypesRule - tip for always true comparison between enums (https://github.com/phpstan/phpstan-src/commit/a327965dc58ade31d5ab457435139a283a63f3aa, https://github.com/phpstan/phpstan-src/commit/9850ea7e9833e8929497c3df113dd92c056f54fa) - Handle invalid type aliases better (https://github.com/phpstan/phpstan-src/commit/fc5515a516c6573c01ca786decfb5a509771ab36), [#9077](https://togithub.com/phpstan/phpstan/issues/9077), [#8473](https://togithub.com/phpstan/phpstan/issues/8473) - Uses phpstan/phpdoc-parser 1.17 - https://github.com/phpstan/phpdoc-parser/commit/bfec8729f7e23c40670f98e27e694cfdb13fc12a - https://github.com/phpstan/phpdoc-parser/commit/d3753fcb3abc6f78f5de6f72153d4b9c99c72dee # Bugfixes π - Be smarter about new array keys after assignment (https://github.com/phpstan/phpstan-src/commit/6c32371f7c7b8aa330bf7c78b680bc4347f8ce37), [#9131](https://togithub.com/phpstan/phpstan/issues/9131), [#8900](https://togithub.com/phpstan/phpstan/issues/8900), [#8222](https://togithub.com/phpstan/phpstan/issues/8222) - Fix `StaticType::isSuperTypeOf()` for subtypes of `ObjectType` (https://github.com/phpstan/phpstan-src/commit/b439fed7b19fc11287237c85bc50baf73fae0158), [#9142](https://togithub.com/phpstan/phpstan/issues/9142) - `TypehintHelper::decideTypeFromReflection()` should accept correct ancestor's ClassReflection, not just class name (https://github.com/phpstan/phpstan-src/commit/297a9feca4c5df2e809bc7393959694566d23344) # Function signature fixes π€ - Add types for `IntlPartsIterator` ([#2324](https://togithub.com/phpstan/phpstan-src/pull/2324)), thanks [@zonuexe](https://togithub.com/zonuexe)! ### [`v1.10.10`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.10) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.10.9...1.10.10) # Improvements π§ - JsonErrorFormatter - include identifiers (https://github.com/phpstan/phpstan-src/commit/6910be2321136601b75112a8c1e3d107bf3a25c7) - AccessPropertiesRule - tip with [article link](https://phpstan.org/blog/solving-phpstan-access-to-undefined-property) (https://github.com/phpstan/phpstan-src/commit/e6e2d1a63417909c50900a10fbedf0a426f5ac21) - Note about `--xdebug` when Xdebug is enabled (https://github.com/phpstan/phpstan-src/commit/1d4ede19f6f08d6a07216cfe8536dc7dec2f4001) # Bugfixes π - IssetCheck - respect `treatPhpDocTypesAsCertain` for variables (https://github.com/phpstan/phpstan-src/commit/5b7a1153dd76b2f771b13dcd28ef4f7b832e2b84), [#9126](https://togithub.com/phpstan/phpstan/issues/9126) - IssetCheck - respect `treatPhpDocTypesAsCertain` in more places (https://github.com/phpstan/phpstan-src/commit/49d2aa6fd0205da790f251d7ee42fb0fc0676888) - Do not check template type variance in constructor ([#2311](https://togithub.com/phpstan/phpstan-src/pull/2311)), thanks [@jiripudil](https://togithub.com/jiripudil)! # Function signature fixes π€ - Fix `Imagick::profileImage()` type ([#2312](https://togithub.com/phpstan/phpstan-src/pull/2312)), thanks [@zonuexe](https://togithub.com/zonuexe)! ### [`v1.10.9`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.9) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.10.8...1.10.9) # Improvements π§ - Test cases - make some methods static because of PHPUnit 10 dataProviders (https://github.com/phpstan/phpstan-src/commit/ea2670a086f0f699b92dd6b2535504771054498c), [https://github.com/phpstan/phpstan/discussions/9070](https://togithub.com/phpstan/phpstan/discussions/9070) - StrictComparisonOfDifferentTypesRule - tip about `treatPhpDocTypesAsCertain` (https://github.com/phpstan/phpstan-src/commit/40400aeb2830f1e4f29748f5a20989fa34d4d02f) - ConstantLooseComparisonRule - respect `treatPhpDocTypesAsCertain` (https://github.com/phpstan/phpstan-src/commit/72472dd441e445ff6bf4b01b53dfee3613cfea78) - ConstantLooseComparisonRule - tip about `treatPhpDocTypesAsCertain` (https://github.com/phpstan/phpstan-src/commit/d892c34e9b2865e6e1908b08b2a84823f2ec54cf) - PHPStan Pro - configurable DNS servers (https://github.com/phpstan/phpstan-src/commit/f3711a2598c6dd8c9e1ca2f1990736db4de61ee3), [#9106](https://togithub.com/phpstan/phpstan/issues/9106) - Attempt unloading Xdebug before showing warnings ([#2299](https://togithub.com/phpstan/phpstan-src/pull/2299)), thanks [@AJenbo](https://togithub.com/AJenbo)! # Function signature fixes π€ - Fix `pg_pconnect` function signature ([#2300](https://togithub.com/phpstan/phpstan-src/pull/2300)), thanks [@dravnic](https://togithub.com/dravnic)! - Fix incorrect type for `NumberFormatter::parseCurrency` ([#2309](https://togithub.com/phpstan/phpstan-src/pull/2309)), thanks [@rovansteen](https://togithub.com/rovansteen)! ### [`v1.10.8`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.8) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.10.7...1.10.8) # Improvements π§ - Detect large `.php` baseline file in analysed paths and warn about possible PHPStan slowdown (https://github.com/phpstan/phpstan-src/commit/d6d9ef72d73c0030e0a309aa5b9d56a3c8b0c4b1) # Bugfixes π - Don't report unknown class in inline `@var` after `class_exists()` ([#2292](https://togithub.com/phpstan/phpstan-src/pull/2292)), [#9055](https://togithub.com/phpstan/phpstan/issues/9055), thanks [@staabm](https://togithub.com/staabm)! - Improve `Ds\Map::get()` `@throws` inference ([#2297](https://togithub.com/phpstan/phpstan-src/pull/2297)), [#9066](https://togithub.com/phpstan/phpstan/issues/9066), thanks [@simPod](https://togithub.com/simPod)! - Support of unofficial specifiers in `sprintf`/`printf` ([#2301](https://togithub.com/phpstan/phpstan-src/pull/2301)), [#9072](https://togithub.com/phpstan/phpstan/issues/9072), [#2342](https://togithub.com/phpstan/phpstan/issues/2342), thanks [@kukulich](https://togithub.com/kukulich)! # Internals π - Rich PHPDocs for extension interfaces (https://github.com/phpstan/phpstan-src/commit/23d29aba97762c39f5d6df58461a2545bb270d9b, https://github.com/phpstan/phpstan-src/commit/f67a3729dc263c63cc302f431cdd7a232b543fba, https://github.com/phpstan/phpstan-src/commit/cbfb23d8420420324396bffd9e1c096553c933b3) - Browse at: https://apiref.phpstan.org/ ### [`v1.10.7`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.7) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.10.6...1.10.7) # Improvements π§ - Backed enums - dynamic return type extension for `from()` and `tryFrom()` (https://github.com/phpstan/phpstan-src/commit/edcaaba2ad5bc1bbf4d770a5998fe6944eb3a234) # Function signature fixes π€ - Fix `XMLReader::XML` return type (https://github.com/phpstan/phpstan-src/commit/195cb7bf839c51113244995e4a17ff699c75c962) # Internals π - Compiled PHAR - commit and sign as [@phpstan-bot](https://togithub.com/phpstan-bot) (https://github.com/phpstan/phpstan-src/commit/e73523da355f45487cd47ca87cfd334a7327bfd1) ### [`v1.10.6`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.6) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.10.5...1.10.6) # Bleeding edge πͺ - Report narrowing `PHPStan\Type\Type` interface via `@var` (https://github.com/phpstan/phpstan-src/commit/713b98fb107213c28e3d8c8b4b43c5f5fc47c144), [https://github.com/nunomaduro/larastan/issues/1567#issuecomment-1460445389](https://togithub.com/nunomaduro/larastan/issues/1567#issuecomment-1460445389) - Check invalid PHPDocs in previously unchecked statement types (https://github.com/phpstan/phpstan-src/commit/9780d352f3264aac09ac7954f691de1877db8e01) - InvalidPHPStanDocTagRule in StubValidator (https://github.com/phpstan/phpstan-src/commit/9c2552b7e744926d1a74c1ba8fd32c64079eed61) *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 π§ - InvalidPHPStanDocTagRule - add forgotten handling of ClassConst (https://github.com/phpstan/phpstan-src/commit/d943d58c219b457403dc536f855d9d6f32e2280f) # Bugfixes π - Fix false positive with `array_combine()` on PHP 8+ ([#2276](https://togithub.com/phpstan/phpstan-src/pull/2276)), [#9011](https://togithub.com/phpstan/phpstan/issues/9011), thanks [@staabm](https://togithub.com/staabm)! - Ignore Nop nodes in NodeScopeResolver when creating UnreachableStatementNode ([#2279](https://togithub.com/phpstan/phpstan-src/pull/2279)), [#8966](https://togithub.com/phpstan/phpstan/issues/8966), thanks [@herndlm](https://togithub.com/herndlm)! - Fix wrong positives about templates in conditional types ([#2241](https://togithub.com/phpstan/phpstan-src/pull/2241)), [#8609](https://togithub.com/phpstan/phpstan/issues/8609), [#7310](https://togithub.com/phpstan/phpstan/issues/7310), [#8408](https://togithub.com/phpstan/phpstan/issues/8408), thanks [@KmeCnin](https://togithub.com/KmeCnin)! ### [`v1.10.5`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.5) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.10.4...1.10.5) # Improvements π§ - Check local type aliases above traits (https://github.com/phpstan/phpstan-src/commit/4654c1651f1ec9c1799774bffd2c641828d43d4a) # Bugfixes π - Fix type aliases in method-level template types (https://github.com/phpstan/phpstan-src/commit/c926144c2e1c1b25639857a3c1cb12bbe541162c), [#9008](https://togithub.com/phpstan/phpstan/issues/9008) - Fix type aliases in traits (https://github.com/phpstan/phpstan-src/commit/60021c2857841155fcd54f3783d8ed86a647a684), [#5091](https://togithub.com/phpstan/phpstan/issues/5091) - Fix interface accepting a Closure (https://github.com/phpstan/phpstan-src/commit/0dbe3ab24dd40d6e291413aa64db5eca9f0f6d68), [#9006](https://togithub.com/phpstan/phpstan/issues/9006) - Process enum case expression (https://github.com/phpstan/phpstan-src/commit/f64b27cf833cbf84e21293f5891e69c970652698), [#9005](https://togithub.com/phpstan/phpstan/issues/9005) - Fixed missing processing of UseUse and GroupUse (https://github.com/phpstan/phpstan-src/commit/b79751221e67794e62d7e7cfc89db5687c04c527) ### [`v1.10.4`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.4) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.10.3...1.10.4) # Improvements π§ - Remove 3 leading spaces in PHAR ([#2254](https://togithub.com/phpstan/phpstan-src/pull/2254)), [#8952](https://togithub.com/phpstan/phpstan/issues/8952), thanks [@ruudk](https://togithub.com/ruudk)! - Add missing newline at the end of the file ([#2254](https://togithub.com/phpstan/phpstan-src/pull/2254)), thanks [@ruudk](https://togithub.com/ruudk)! - RuleError interfaces are part of BC promise (https://github.com/phpstan/phpstan-src/commit/aed93193ae90d353661e10b0eabcf0528422231f) - Update nikic/php-parser (https://github.com/phpstan/phpstan-src/commit/dda95b4fa735585369cb74429ab5ea8d37f82179) - Update BetterReflection ([#2274](https://togithub.com/phpstan/phpstan-src/pull/2274)), [#8889](https://togithub.com/phpstan/phpstan/issues/8889) # Bugfixes π - Fix bug with `array_column` ([#2244](https://togithub.com/phpstan/phpstan-src/pull/2244)), [#8917](https://togithub.com/phpstan/phpstan/issues/8917), thanks [@VincentLanglet](https://togithub.com/VincentLanglet)! - Improve `filter_var()` handling of a couple of simple scalars and null ([#2262](https://togithub.com/phpstan/phpstan-src/pull/2262)), thanks [@herndlm](https://togithub.com/herndlm)! - Fix `value-of` for multiple enums (https://github.com/phpstan/phpstan-src/commit/3adc91d78b8108afc883dc5097656b6de0f38769), [#8983](https://togithub.com/phpstan/phpstan/issues/8983) - Fix `->value` on unions of enums (https://github.com/phpstan/phpstan-src/commit/05b85bad07a2c6628799fcb4a2939be7beab80cd), [#9000](https://togithub.com/phpstan/phpstan/issues/9000) # Function signature fixes π€ - Fix return type of `Ds\Sequence::copy()` ([#1954](https://togithub.com/phpstan/phpstan-src/pull/1954)), thanks [@MidnightDesign](https://togithub.com/MidnightDesign)! - Fix `password_hash()` return type ([#2260](https://togithub.com/phpstan/phpstan-src/pull/2260)), [#5978](https://togithub.com/phpstan/phpstan/issues/5978), thanks [@VincentLanglet](https://togithub.com/VincentLanglet)! ### [`v1.10.3`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.3) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.10.2...1.10.3) # Improvements π§ - Add support for `@not-deprecated` annotation ([#2255](https://togithub.com/phpstan/phpstan-src/pull/2255)), [https://github.com/phpstan/phpstan/discussions/7422](https://togithub.com/phpstan/phpstan/discussions/7422), thanks [@stof](https://togithub.com/stof)! # Bugfixes π - Fix arithmetic operations with BenevolentUnionType (https://github.com/phpstan/phpstan-src/commit/f882eff78af3647b28a4663f467ae78346e89db3), [#8938](https://togithub.com/phpstan/phpstan/issues/8938) - Fix native return type of `array_chunk()` (https://github.com/phpstan/phpstan-src/commit/e4a6d2026ef1218d2629e55991972058b80fef73), [#8956](https://togithub.com/phpstan/phpstan/issues/8956) - Support for property fetch in initializers (https://github.com/phpstan/phpstan-src/commit/53c643de1366f185c9f21ff12908a7b1458b9ed0), [#8957](https://togithub.com/phpstan/phpstan/issues/8957) - ObjectType - fix enum property with subtracted type (https://github.com/phpstan/phpstan-src/commit/eb00fd21ccc834c13624c32b6db0c1700ab32a8a), [#8828](https://togithub.com/phpstan/phpstan/issues/8828), [#8486](https://togithub.com/phpstan/phpstan/issues/8486) ### [`v1.10.2`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.2) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.10.1...1.10.2) # Improvements π§ - Allow generating baseline in .php format (https://github.com/phpstan/phpstan-src/commit/8260032bc6b3641ec80a4b11526869b53d250ac6), [#8870](https://togithub.com/phpstan/phpstan/issues/8870) - See documentation: https://phpstan.org/user-guide/baseline#php-baseline-format-instead-of-neon # Function signature fixes π€ - Instances of `object` returned by `db2_*()` functions are always instances of `stdClass` ([#2249](https://togithub.com/phpstan/phpstan-src/pull/2249)), thanks [@phansys](https://togithub.com/phansys)! ### [`v1.10.1`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.1) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.10.0...1.10.1) # Bugfixes π - Fix match expression and `treatPhpDocTypesAsCertain: false` ([#2248](https://togithub.com/phpstan/phpstan-src/pull/2248)), [#8932](https://togithub.com/phpstan/phpstan/issues/8932), thanks [@VincentLanglet](https://togithub.com/VincentLanglet)! - Fix calling dynamic return type extensions on nullable types (https://github.com/phpstan/phpstan-src/commit/7331bc51411943dba14880434df6d7c85a744dcf) - Fix edge case with `in_array` and enums (https://github.com/phpstan/phpstan-src/commit/7d6f0f6a4c8eac67cfb2d810681043f9863f04a7) ### [`v1.10.0`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.0) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.9.18...1.10.0) **Read the article about this release: [PHPStan 1.10 Comes With a Lie Detector](https://phpstan.org/blog/phpstan-1-10-comes-with-lie-detector)** # Major new features π - "Always true" conditions in the last `elseif` branch and last match expression arm are not reported by default ([#2105](https://togithub.com/phpstan/phpstan-src/pull/2105)), [#8042](https://togithub.com/phpstan/phpstan/issues/8042), [#8485](https://togithub.com/phpstan/phpstan/issues/8485), [#7721](https://togithub.com/phpstan/phpstan/issues/7721), [#4242](https://togithub.com/phpstan/phpstan/issues/4242), [#8240](https://togithub.com/phpstan/phpstan/issues/8240), thanks [@staabm](https://togithub.com/staabm)! - Set [`reportAlwaysTrueInLastCondition`](https://phpstan.org/config-reference#reportalwaystrueinlastcondition) to `true` to have them reported again - Note: "Always true" conditions in PHPStan 1.x are reported with Bleeding Edge enabled, or with phpstan-strict-rules installed, or with [relevant options](https://togithub.com/phpstan/phpstan-strict-rules/blob/66b378f5b242130908b8a2222bf8110f14f4375a/rules.neon#L4-L7) enabled separately. In PHPStan 2.0 they're going to be always reported, except for the last `elseif` branch and last match expression arm. - Deprecate various `instanceof *Type` in favour of new methods on `Type` interface, (https://github.com/phpstan/phpstan-src/commit/436e6d3015cbeba4645d38bc7a6a865b9c6d7c74), learn more: [Why Is instanceof \*Type Wrong and Getting Deprecated?](https://phpstan.org/blog/why-is-instanceof-type-wrong-and-getting-deprecated) - Deprecations in your custom rules and extensions will be reported in Bleeding Edge, or with `phpstan-deprecation-rules` installed - Explain why type isn't accepted by another type in less intuitive scenarios, [#3281](https://togithub.com/phpstan/phpstan/issues/3281), [#6787](https://togithub.com/phpstan/phpstan/issues/6787) - Some examples: https://phpstan.org/r/61cfbb65-1a04-471a-a5c5-d61f0540ae1d, https://phpstan.org/r/839f1fd2-d66a-4356-af21-3fe171d83fd1, https://phpstan.org/r/2bea7ece-6b26-4dc9-a1cf-d2f0e7fbb9d6, https://phpstan.org/r/fed1c275-46d0-434f-b9c4-3212f4df6d1c, https://phpstan.org/r/24a23b74-af27-4443-986c-04af61427d50 # Bleeding edge πͺ - Validate inline PHPDoc `@var` tag type against native type (https://github.com/phpstan/phpstan-src/commit/a69e3bc2f1e87f6da1e65d7935f1cc36bd5c42fe) - Set [`reportWrongPhpDocTypeInVarTag`](https://phpstan.org/config-reference#reportwrongphpdoctypeinvartag) to `true` to have all types validated, not just native ones - Always report always true conditions, except for last elseif and match arm ([#2105](https://togithub.com/phpstan/phpstan-src/pull/2105)), thanks [@staabm](https://togithub.com/staabm)! - Disable "unreachable branches" rules: UnreachableIfBranchesRule, UnreachableTernaryElseBranchRule, unreachable arm error in MatchExpressionRule - Because "always true" is always reported, these are no longer needed - IncompatibleDefaultParameterTypeRule for closures (https://github.com/phpstan/phpstan-src/commit/0264f5bc48448c7e02a23b82eef4177d0617a82f) - New `RuleLevelHelper::accepts()` behaviour (https://github.com/phpstan/phpstan-src/commit/941fc815db49315b8783dc466cf593e0d8a85d23) - Check template type variance in `@param-out` (https://github.com/phpstan/phpstan-src/commit/7ceb19d3b42cf4632d10c2babb0fc5a21b6c8352), [https://github.com/phpstan/phpstan/issues/8880#issuecomment-1426971473](https://togithub.com/phpstan/phpstan/issues/8880#issuecomment-1426971473) *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 π§ - Implement identical/equal comparisons on EnumCaseObjectType ([#2105](https://togithub.com/phpstan/phpstan-src/pull/2105)), thanks [@staabm](https://togithub.com/staabm)! - MatchExpressionRule - use ConstantConditionRuleHelper to remove some duplicate errors (https://github.com/phpstan/phpstan-src/commit/7380ed0e48fea16eab205996ab911f765548e0ff) - Improvements of `MutatingScope::getNativeType()` ([#1943](https://togithub.com/phpstan/phpstan-src/pull/1943)), [#4689](https://togithub.com/phpstan/phpstan/issues/4689), [#7578](https://togithub.com/phpstan/phpstan/issues/7578), [#6260](https://togithub.com/phpstan/phpstan/issues/6260) - Allow default values for allow-private-mutation properties ([#2178](https://togithub.com/phpstan/phpstan-src/pull/2178)), [#8701](https://togithub.com/phpstan/phpstan/issues/8701), thanks [@zonuexe](https://togithub.com/zonuexe)! - Support `treatPhpDocTypesAsCertain` in NumberComparisonOperatorsConstantConditionRule (https://github.com/phpstan/phpstan-src/commit/649eb70ba3c5a2321c5305522b46b49ba3dacc77), [#6776](https://togithub.com/phpstan/phpstan/issues/6776), [#7075](https://togithub.com/phpstan/phpstan/issues/7075) - JsonErrorFormatter - strip console-specific characters from tip (https://github.com/phpstan/phpstan-src/commit/6419da745ae460b481e8172e2b5191c898eab43d) - `InClassMethodNode` - add `getClassReflection()` (https://github.com/phpstan/phpstan-src/commit/c4ee0b8449df6bcd7e9c4500c7055657515253d8) - PhpFunctionFromParserNodeReflection and PhpMethodFromParserNodeReflection are part of BC promise (https://github.com/phpstan/phpstan-src/commit/810717968171bed5a7250ea09de03c5ef7f60ee9) - AttributesCheck - detect deprecated attributes (https://github.com/phpstan/phpstan-src/commit/e46b0b4aaf34a199f50b8dd589832b52e74baf85) - Introduce `Type::getTemplateType()` and deprecate `GenericTypeVariableResolver` (https://github.com/phpstan/phpstan-src/commit/b73a8aacc1636e1f512ad3850a7126c280b67036, https://github.com/phpstan/phpstan-src/commit/01b4d4e9b89a7f454c77a6f4d4d525ae8bf4ee53) - Implement PHP version dependent loose const comparison ([#2220](https://togithub.com/phpstan/phpstan-src/pull/2220), [#2225](https://togithub.com/phpstan/phpstan-src/pull/2225)), thanks [@staabm](https://togithub.com/staabm)! # Bugfixes π - Fix LateResolvableTypeTrait (https://github.com/phpstan/phpstan-src/commit/bc2828669fbc93ca81a6b442c528fc56acbb79a1) - StrCaseFunctionsReturnTypeExtension - do not throw ShouldNotHappenException, it might happen if mbstring is not enabled and the polyfill is not implemented (https://github.com/phpstan/phpstan-src/commit/c015e47f40bdc72c19ce92457dd00d194f365da3), [#8925](https://togithub.com/phpstan/phpstan/issues/8925) # Function signature fixes π€ - Fix `PDO::sqliteCreateFunction` ([#2208](https://togithub.com/phpstan/phpstan-src/pull/2208)), [#8802](https://togithub.com/phpstan/phpstan/issues/8802), thanks [@VincentLanglet](https://togithub.com/VincentLanglet)! - Use "numeric-string" type for some MySQLi functions ([#2223](https://togithub.com/phpstan/phpstan-src/pull/2223), [#2224](https://togithub.com/phpstan/phpstan-src/pull/2224)), thanks [@phansys](https://togithub.com/phansys)! - Update param and return type for `db2_autocommit()` ([#2239](https://togithub.com/phpstan/phpstan-src/pull/2239)), thanks [@phansys](https://togithub.com/phansys)! # Internals π - Deprecate `TypeUtils::getDirectClassNames()` and `instanceof TypeWithClassName`, use `Type::getObjectClassNames()` instead ([#1924](https://togithub.com/phpstan/phpstan-src/pull/1924)), thanks [@herndlm](https://togithub.com/herndlm)! - Remove dead code in UnionType ([#2194](https://togithub.com/phpstan/phpstan-src/pull/2194)), thanks [@staabm](https://togithub.com/staabm)! - Use `isSuperTypeOf()` instead of `accepts()` in the right places (https://github.com/phpstan/phpstan-src/commit/ddb9dc5adc7a09dbe2f60d5cab60e5fd51a928fd) - Modernized `IncompatibleDefaultParameterTypeRule` (https://github.com/phpstan/phpstan-src/commit/a79ad038367ebd4c2722daaeaafd9aab24a421df) - InClassMethodNode always contains PhpMethodFromParserNodeReflection (https://github.com/phpstan/phpstan-src/commit/01a789713cd43ffd96c695dbcf85545459523c7e) - InFunctionNode always contains PhpFunctionFromParserNodeReflection (https://github.com/phpstan/phpstan-src/commit/e864b24a854ac053b10d9ec95d3c12802a4e326a) - Modernized InClassMethodNode rules (https://github.com/phpstan/phpstan-src/commit/c3da6a911a411652c27e905ee969980119a37d5d) - Modernized InFunctionNode rules (https://github.com/phpstan/phpstan-src/commit/b736ddcecdb6506e17ebf227654755a4ac5b82e5) - Introduce `Type::acceptsWithReason()` (https://github.com/phpstan/phpstan-src/commit/b763bd9631f7adfdf3feb8a111511b86a87389aa), [#3281](https://togithub.com/phpstan/phpstan/issues/3281) - Fix invalid phpdocs missing null ([#2213](https://togithub.com/phpstan/phpstan-src/pull/2213)), thanks [@janedbal](https://togithub.com/janedbal)! - NodeScopeResolver::earlyTerminatingMethodNames remove useless default ([#2214](https://togithub.com/phpstan/phpstan-src/pull/2214)), [#8830](https://togithub.com/phpstan/phpstan/issues/8830), thanks [@janedbal](https://togithub.com/janedbal)! - Skip `testEditorUrlWithRelativePath()` test on PhpStorm console ([#2229](https://togithub.com/phpstan/phpstan-src/pull/2229)), thanks [@staabm](https://togithub.com/staabm)! - VarianceCheck - accept only ParametersAcceptorWithPhpDocs (https://github.com/phpstan/phpstan-src/commit/7da13f7de02c06922a3550e7f037627f8bbc6a55) - Remove duplicate method definition from ConstantType interface (https://github.com/phpstan/phpstan-src/commit/61fa3a14e22355a013e9d240d55c0d9a5f6609a6) - `Type::isEnum()` (https://github.com/phpstan/phpstan-src/commit/93113cbca608a0c03073e322d58cd3d82597163f) - `Type::getObjectClassReflections()` (https://github.com/phpstan/phpstan-src/commit/4c7046ef681d05e81f5ad866230582a0009272b9) ### [`v1.9.18`](https://togithub.com/phpstan/phpstan/releases/tag/1.9.18) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.9.17...1.9.18) # Improvements π§ - ErrorsConsoleStyle - do not wrap URLs (https://github.com/phpstan/phpstan-src/commit/f843feed8b0211713ec60bda1b08f9407e0fa0b7) - List shapes ([#2202](https://togithub.com/phpstan/phpstan-src/pull/2202)), [#8789](https://togithub.com/phpstan/phpstan/issues/8789), thanks [@zonuexe](https://togithub.com/zonuexe)! # Bugfixes π - IterableType - fix getReferencedTemplateTypes (https://github.com/phpstan/phpstan-src/commit/07e32cdbe49f660891d558b243beed9121ef4679, https://github.com/phpstan/phpstan-src/commit/cf2107dd5cb03c38df9d3e16e96ec3e09ddfe2ec), [#8880](https://togithub.com/phpstan/phpstan/issues/8880) - Revert "Fixed '$this instanceof X will always be false' in traits" (https://github.com/phpstan/phpstan-src/commit/1f608dc6a560f4a5accc854add8e005da0e7ceea), [#8879](https://togithub.com/phpstan/phpstan/issues/8879), [#8888](https://togithub.com/phpstan/phpstan/issues/8888) # Internals π - Remove unneded code in `ConstantArrayType::hasOffsetValueType()` ([#2238](https://togithub.com/phpstan/phpstan-src/pull/2238)), thanks [@herndlm](https://togithub.com/herndlm)! ### [`v1.9.17`](https://togithub.com/phpstan/phpstan/releases/tag/1.9.17) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.9.16...1.9.17) # Bugfixes π - Fix one more false positive about unused private property (https://github.com/phpstan/phpstan-src/commit/6d61d3dd33342fe2b09a57ca17e9fc90b33f92d2), [#8850](https://togithub.com/phpstan/phpstan/issues/8850) - Update phpdoc-parser to 1.16.1 - Fix `list{}` parsing ([https://github.com/phpstan/phpdoc-parser/pull/177](https://togithub.com/phpstan/phpdoc-parser/pull/177)), thanks [@zonuexe](https://togithub.com/zonuexe)! - Fix intersection of two identical `ThisType` (https://github.com/phpstan/phpstan-src/commit/d3e3292d73ee32862b4b1321740c80d319a683ad), [#8857](https://togithub.com/phpstan/phpstan/issues/8857) ### [`v1.9.16`](https://togithub.com/phpstan/phpstan/releases/tag/1.9.16) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.9.15...1.9.16) - Fix false positive about unused class elements when the class uses a trait (https://github.com/phpstan/phpstan-src/commit/fbdf0da9b7075ce4d4933d6289dcfd89266556f0) ### [`v1.9.15`](https://togithub.com/phpstan/phpstan/releases/tag/1.9.15) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.9.14...1.9.15) # Improvements π§ - `ignoreErrors` entries for same message and path are summed together (https://github.com/phpstan/phpstan-src/commit/fa70062df084110dfc3fc9ce9be867dc143eb482) - Make PHP 8 deprecation "required params following optional ones" ignorable ([#2218](https://togithub.com/phpstan/phpstan-src/pull/2218)), thanks [@Wirone](https://togithub.com/Wirone)! # Bugfixes π - Templates in DatePeriod can be covariant (https://github.com/phpstan/phpstan-src/commit/ce65e053730ac70160b4a041e72496baa20c3c31), [#8772](https://togithub.com/phpstan/phpstan/issues/8772) - Prevent crash for Attribute class polyfill without constructor (https://github.com/phpstan/phpstan-src/commit/9334ff395d56fb36d9c32092c67d602a2ac4b2df), [#8769](https://togithub.com/phpstan/phpstan/issues/8769) - Fix big constant arrays not recognized as oversized ([#2199](https://togithub.com/phpstan/phpstan-src/pull/2199)), [#8775](https://togithub.com/phpstan/phpstan/issues/8775), thanks [@staabm](https://togithub.com/staabm)! - Fix `filter_var()` with float input and FILTER_VALIDATE_INT ([#2206](https://togithub.com/phpstan/phpstan-src/pull/2206)), [#8797](https://togithub.com/phpstan/phpstan/issues/8797), thanks [@herndlm](https://togithub.com/herndlm)! - Fixed `method_exists()` on `class-string&literal-string` ([#2193](https://togithub.com/phpstan/phpstan-src/pull/2193)), [#8752](https://togithub.com/phpstan/phpstan/issues/8752), thanks [@staabm](https://togithub.com/staabm)! - Fix various `filter_var()` range edge cases ([#2207](https://togithub.com/phpstan/phpstan-src/pull/2207)), [#8776](https://togithub.com/phpstan/phpstan/issues/8776), thanks [@herndlm](https://togithub.com/herndlm)! - Fixed `$this instanceof X will always be false` in traits ([#2045](https://togithub.com/phpstan/phpstan-src/pull/2045)), [#3632](https://togithub.com/phpstan/phpstan/issues/3632), thanks [@staabm](https://togithub.com/staabm)! - Update PhpStorm stubs ([#2226](https://togithub.com/phpstan/phpstan-src/pull/2226)), [#8713](https://togithub.com/phpstan/phpstan/issues/8713) # Function signature fixes π€ - Adjust `forward_static_call_array` for named arguments on PHP 8 (https://github.com/phpstan/phpstan-src/commit/fb5c1119b779ab66ae841c9b110246a147c2ab69), [https://github.com/phpstan/phpstan/discussions/8761](https://togithub.com/phpstan/phpstan/discussions/8761) # Internals π - Extract `FilterFunctionReturnTypeHelper` ([#2190](https://togithub.com/phpstan/phpstan-src/pull/2190)), thanks [@herndlm](https://togithub.com/herndlm)! - Simplify default type handling in `FilterFunctionReturnTypeHelper` ([#2198](https://togithub.com/phpstan/phpstan-src/pull/2198)), thanks [@herndlm](https://togithub.com/herndlm)! - Remove `$otherTypes` in `FilterFunctionReturnTypeHelper` ([#2205](https://togithub.com/phpstan/phpstan-src/pull/2205)), thanks [@herndlm](https://togithub.com/herndlm)! ### [`v1.9.14`](https://togithub.com/phpstan/phpstan/releases/tag/1.9.14) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.9.13...1.9.14) # Bugfixes π - Fix `filter_var()` narrowing with unknown options ([#2146](https://togithub.com/phpstan/phpstan-src/pull/2146)), [#8516](https://togithub.com/phpstan/phpstan/issues/8516), thanks [@herndlm](https://togithub.com/herndlm)! - Fix types after `ctype_digit()` with cast parameter ([#2189](https://togithub.com/phpstan/phpstan-src/pull/2189)), [#8736](https://togithub.com/phpstan/phpstan/issues/8736), thanks [@staabm](https://togithub.com/staabm)! # Function signature fixes π€ - Adapt `Redis::connect()` signature to upstream changes ([#2187](https://togithub.com/phpstan/phpstan-src/pull/2187), [#2188](https://togithub.com/phpstan/phpstan-src/pull/2188)), [#8733](https://togithub.com/phpstan/phpstan/issues/8733), thanks [@greg0ire](https://togithub.com/greg0ire)! # Internals π - PHPStan's Homebrew formula gets updated automatically on release (https://github.com/phpstan/phpstan/commit/598f17ee70fd4c5199e2da912597ef67e4abbf32), [#8738](https://togithub.com/phpstan/phpstan/issues/8738) ### [`v1.9.13`](https://togithub.com/phpstan/phpstan/releases/tag/1.9.13) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.9.12...1.9.13) # Bugfixes π - ctype_digit - support type narrowing with cast parameters ([#2186](https://togithub.com/phpstan/phpstan-src/pull/2186)), [#8714](https://togithub.com/phpstan/phpstan/issues/8714), thanks [@staabm](https://togithub.com/staabm)! - PHP 8.2: Non-final classes without `#[AllowDynamicProperties]` might still have dynamic properties (https://github.com/phpstan/phpstan-src/commit/051b06ea5b36ce2f6131d07fbfcb4b065bd83ef5), [#8727](https://togithub.com/phpstan/phpstan/issues/8727), [#8474](https://togithub.com/phpstan/phpstan/issues/8474) ### [`v1.9.12`](https://togithub.com/phpstan/phpstan/releases/tag/1.9.12) [Compare Source](https://togithub.com/phpstan/phpstan/compaConfiguration
π Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
π¦ Automerge: Enabled.
β» Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
π» Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
Read more information about the use of Renovate Bot.