hackariens / phpfpm

Templates pour la crΓ©ation d'un nouveau projet phpfpm
0 stars 0 forks source link

chore(deps): update dependency phpstan/phpstan to v1 - autoclosed #94

Closed renovate[bot] closed 2 years ago

renovate[bot] commented 3 years ago

WhiteSource Renovate

This PR contains the following updates:

Package Type Update Change
phpstan/phpstan require-dev major 0.12.90 -> 1.5.7

Release Notes

phpstan/phpstan ### [`v1.5.7`](https://togithub.com/phpstan/phpstan/releases/1.5.7) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.5.6...1.5.7) # Bugfixes πŸ› - Fix `array_merge` with numeric keys ([#​1218](https://togithub.com/phpstan/phpstan-src/pull/1218)), thanks [@​herndlm](https://togithub.com/herndlm)! - Fix `ConstantArrayTypeBuilder` optional keys via `setOffsetValueType` ([#​1225](https://togithub.com/phpstan/phpstan-src/pull/1225)), thanks [@​herndlm](https://togithub.com/herndlm)! - Fix `array_push` with an empty constant array ([#​1210](https://togithub.com/phpstan/phpstan-src/pull/1210)), [#​6974](https://togithub.com/phpstan/phpstan/issues/6974), thanks [@​herndlm](https://togithub.com/herndlm)! - Fix `array_push` / `array_unshift` with `ConstantArrayType` arguments ([#​1232](https://togithub.com/phpstan/phpstan-src/pull/1232)), [#​5783](https://togithub.com/phpstan/phpstan/issues/5783), thanks [@​herndlm](https://togithub.com/herndlm)! - Fix variadic parameters for generics (https://github.com/phpstan/phpstan-src/commit/f091c5629a48620972c657993032522def8a840d), [#​7068](https://togithub.com/phpstan/phpstan/issues/7068) - PHPStan Pro download API - pass current PHP version (https://github.com/phpstan/phpstan-src/commit/9044bfc33d254858ce44969848230477cb8f3ca7) - PHPStan Pro - fix for potential issues on temp files (https://github.com/phpstan/phpstan-src/commit/2a145bad4e3d171e3a917e0f1f3e757bd5a6c523) - Improve variadic parameter support in `array_merge` ([#​1233](https://togithub.com/phpstan/phpstan-src/pull/1233)), thanks [@​herndlm](https://togithub.com/herndlm)! ### [`v1.5.6`](https://togithub.com/phpstan/phpstan/releases/1.5.6) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.5.5...1.5.6) This release enables to write forward-compatible custom rules with PHPStan 1.6.0+Bleeding Edge. Detailed instructions are here: https://phpstan.org/blog/preprocessing-ast-for-custom-rules - Allow registering of custom rich parser node visitors (https://github.com/phpstan/phpstan-src/commit/b0dafcc4921bb6e3b0e5db5065b4989c3b350bab) ### [`v1.5.5`](https://togithub.com/phpstan/phpstan/releases/1.5.5) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.5.4...1.5.5) # Improvements πŸ”§ - Remove unnecessary `ConstantArrayType::getKeyType()` ([#​1173](https://togithub.com/phpstan/phpstan-src/pull/1173)), thanks [@​herndlm](https://togithub.com/herndlm)! - Improve `ConstantArrayType` union performance ([#​1176](https://togithub.com/phpstan/phpstan-src/pull/1176)), thanks [@​herndlm](https://togithub.com/herndlm)! - Do not evaluate constructors as having side effects by default, Handle side effects of constructors in `new` ([#​1205](https://togithub.com/phpstan/phpstan-src/pull/1205)), thanks [@​VasekPurchart](https://togithub.com/VasekPurchart)! # Bleeding edge πŸ”ͺ - Specify explicit mixed array type via `is_array` ([#​1191](https://togithub.com/phpstan/phpstan-src/pull/1191)), 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 `curl_getinfo($ch, CURLINFO_CONTENT_TYPE)` ([#​1170](https://togithub.com/phpstan/phpstan-src/pull/1170)), [#​6929](https://togithub.com/phpstan/phpstan/issues/6929), thanks [@​oschwald](https://togithub.com/oschwald)! - Fix return types for `bcdiv()`, `bcmod()`, `bcpowmod()` and `bcsqrt()` in PHP 8.0 and higher ([#​1152](https://togithub.com/phpstan/phpstan-src/pull/1152)), [#​5134](https://togithub.com/phpstan/phpstan/issues/5134), thanks [@​W0rma](https://togithub.com/W0rma)! - Add support for `int` and `bool` args for `strlen()` ([#​1162](https://togithub.com/phpstan/phpstan-src/pull/1162)), thanks [@​fluffycondor](https://togithub.com/fluffycondor)! - Add support for `float` and `null` for `strlen()`, improve support for booleans ([#​1199](https://togithub.com/phpstan/phpstan-src/pull/1199)), thanks [@​fluffycondor](https://togithub.com/fluffycondor)! - Feature/undefined expression allowed ([#​1174](https://togithub.com/phpstan/phpstan-src/pull/1174)), [#​6107](https://togithub.com/phpstan/phpstan/issues/6107), [#​5971](https://togithub.com/phpstan/phpstan/issues/5971), [#​5337](https://togithub.com/phpstan/phpstan/issues/5337), [#​6899](https://togithub.com/phpstan/phpstan/issues/6899), thanks [@​rajyan](https://togithub.com/rajyan)! - Fix/coalesce simulate ternary ([#​1193](https://togithub.com/phpstan/phpstan-src/pull/1193)), thanks [@​rajyan](https://togithub.com/rajyan)! - Support variadic parameter in `array_replace` ([#​1209](https://togithub.com/phpstan/phpstan-src/pull/1209)), [#​7020](https://togithub.com/phpstan/phpstan/issues/7020), thanks [@​herndlm](https://togithub.com/herndlm)! - ObjectType - fix imprecise cache key issue (https://github.com/phpstan/phpstan-src/commit/ee934468b707f46d0416bba7b89cc33d3a0d7cd7), [#​6944](https://togithub.com/phpstan/phpstan/issues/6944) - Fix int overflow internal error (https://github.com/phpstan/phpstan-src/commit/c5d0902d2b3fbf8f00913002f9ba72b6caa929a0), [#​6979](https://togithub.com/phpstan/phpstan/issues/6979) # Function signature fixes πŸ€– - `DOMText::splitText()` may return false ([#​1180](https://togithub.com/phpstan/phpstan-src/pull/1180)), thanks [@​xPaw](https://togithub.com/xPaw)! - `Collator` creation function/method can return null ([#​1182](https://togithub.com/phpstan/phpstan-src/pull/1182)), thanks [@​finwe](https://togithub.com/finwe)! - Fix return signature of `SplObjectStorage` methods ([#​1185](https://togithub.com/phpstan/phpstan-src/pull/1185)), thanks [@​Furgas](https://togithub.com/Furgas)! - Fix return signature of `SimpleXMLElement::getDocNamespaces` ([#​1190](https://togithub.com/phpstan/phpstan-src/pull/1190)), thanks [@​Furgas](https://togithub.com/Furgas)! ### [`v1.5.4`](https://togithub.com/phpstan/phpstan/releases/1.5.4) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.5.3...1.5.4) # Bugfixes πŸ› - Support named arguments when resolving template parameters ([#​1151](https://togithub.com/phpstan/phpstan-src/pull/1151)), [#​5262](https://togithub.com/phpstan/phpstan/issues/5262), thanks [@​rvanvelzen](https://togithub.com/rvanvelzen)! - Various fixes for constant arrays ([#​1154](https://togithub.com/phpstan/phpstan-src/pull/1154)), [#​4308](https://togithub.com/phpstan/phpstan/issues/4308), [#​6965](https://togithub.com/phpstan/phpstan/issues/6965), [#​6961](https://togithub.com/phpstan/phpstan/issues/6961), [#​6383](https://togithub.com/phpstan/phpstan/issues/6383), [#​5933](https://togithub.com/phpstan/phpstan/issues/5933), [#​5382](https://togithub.com/phpstan/phpstan/issues/5382), [#​6379](https://togithub.com/phpstan/phpstan/issues/6379), [#​3284](https://togithub.com/phpstan/phpstan/issues/3284) - Fix for arrays not being accepted when having an accessory type (https://github.com/phpstan/phpstan-src/commit/843ebbb1d889ac4d9a152a52f1f1ee9690d2e721), [#​6552](https://togithub.com/phpstan/phpstan/issues/6552) - Avoid describing ConstantArrayType values twice ([#​1168](https://togithub.com/phpstan/phpstan-src/pull/1168), [#​1169](https://togithub.com/phpstan/phpstan-src/pull/1169)), thanks [@​herndlm](https://togithub.com/herndlm)! - Fix false positive `UnhandledMatchError` throw point ([#​1165](https://togithub.com/phpstan/phpstan-src/pull/1165)), [#​6910](https://togithub.com/phpstan/phpstan/issues/6910), thanks [@​rajyan](https://togithub.com/rajyan)! - Fix `in_array()` bug (https://github.com/phpstan/phpstan-src/commit/0ae28f761b2e0d473224aded78960d3d96b4e31e) - Various optimization attempts (https://github.com/phpstan/phpstan-src/commit/91c7507787b4a9a63568562cda35644f139460c2, https://github.com/phpstan/phpstan-src/commit/5400b5858ef1750ede656dffc894acbbbc228e88, https://github.com/phpstan/phpstan-src/commit/c4c64fe6dae985d196aea92f3b7eca40e70c7ef4) # Function signature fixes πŸ€– - added `show_source()` signature, an alias of `highlight_file()` ([#​1160](https://togithub.com/phpstan/phpstan-src/pull/1160)), thanks [@​staabm](https://togithub.com/staabm)! - more precise `getenv()` signature ([#​1161](https://togithub.com/phpstan/phpstan-src/pull/1161)), thanks [@​staabm](https://togithub.com/staabm)! ### [`v1.5.3`](https://togithub.com/phpstan/phpstan/releases/1.5.3) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.5.2...1.5.3) # Improvements πŸ”§ - Update phpdoc-parser with multi-line union/intersection/conditional types support (https://github.com/phpstan/phpstan-src/commit/6fa7c9097d060e7eddd81adf7a6809eb94a221a6), [https://github.com/phpstan/phpdoc-parser/pull/114](https://togithub.com/phpstan/phpdoc-parser/pull/114), thanks [@​rvanvelzen](https://togithub.com/rvanvelzen)! # Bugfixes πŸ› - Mark `Memcached::HAVE_*` constants as dynamic ([#​1142](https://togithub.com/phpstan/phpstan-src/pull/1142)), [#​6263](https://togithub.com/phpstan/phpstan/issues/6263), thanks [@​VasekPurchart](https://togithub.com/VasekPurchart)! - Improve return types for `array_fill_keys` and `array_combine` ([#​1139](https://togithub.com/phpstan/phpstan-src/pull/1139)), thanks [@​canvural](https://togithub.com/canvural)! - Guard `Equal` (`==`) expression specification with empty array on both sides ([#​1143](https://togithub.com/phpstan/phpstan-src/pull/1143)), [#​6940](https://togithub.com/phpstan/phpstan/issues/6940), thanks [@​herndlm](https://togithub.com/herndlm)! - Fix huge union types result from "+"-array-merge operation ([#​1141](https://togithub.com/phpstan/phpstan-src/pull/1141)), [#​6936](https://togithub.com/phpstan/phpstan/issues/6936), thanks [@​staabm](https://togithub.com/staabm)! - Improve return type of `array_fill_keys` for not constant arrays ([#​1145](https://togithub.com/phpstan/phpstan-src/pull/1145)), thanks [@​canvural](https://togithub.com/canvural)! - Handle `false` return in `substr()` with PHP < 8 ([#​1144](https://togithub.com/phpstan/phpstan-src/pull/1144)), [#​6939](https://togithub.com/phpstan/phpstan/issues/6939), thanks [@​herndlm](https://togithub.com/herndlm)! - `array_merge` lost non-empty-string keys type ([#​1135](https://togithub.com/phpstan/phpstan-src/pull/1135)), [#​6927](https://togithub.com/phpstan/phpstan/issues/6927), [#​5846](https://togithub.com/phpstan/phpstan/issues/5846), [#​2567](https://togithub.com/phpstan/phpstan/issues/2567), thanks [@​staabm](https://togithub.com/staabm)! ### [`v1.5.2`](https://togithub.com/phpstan/phpstan/releases/1.5.2) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.5.1...1.5.2) # Bugfixes πŸ› - Fix infinite recursion when caching types ([#​1137](https://togithub.com/phpstan/phpstan-src/pull/1137)), [#​6896](https://togithub.com/phpstan/phpstan/issues/6896), [#​6911](https://togithub.com/phpstan/phpstan/issues/6911) - Fixing bugs by removing caching πŸ˜‚ - Timewise performance optimizations (https://github.com/phpstan/phpstan-src/commit/22f755c6a0bf5fd551634419680070fabf571a07) - Offseting the removal of PHPDocs cache ### [`v1.5.1`](https://togithub.com/phpstan/phpstan/releases/1.5.1) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.5.0...1.5.1) # Bugfixes πŸ› - `is_subclass_of()`: do not infer anything when context is falsy ([#​1124](https://togithub.com/phpstan/phpstan-src/pull/1124)), [#​6891](https://togithub.com/phpstan/phpstan/issues/6891), thanks [@​VincentLanglet](https://togithub.com/VincentLanglet)! - Fix inferring template types on intersection types ([#​1122](https://togithub.com/phpstan/phpstan-src/pull/1122)), [#​6904](https://togithub.com/phpstan/phpstan/issues/6904), [#​6917](https://togithub.com/phpstan/phpstan/issues/6917), thanks [@​rvanvelzen](https://togithub.com/rvanvelzen)! # Function signature fixes πŸ€– - more precise `getTrace()` return-type ([#​1123](https://togithub.com/phpstan/phpstan-src/pull/1123)), thanks [@​staabm](https://togithub.com/staabm)! - Fix type definition of curl "certinfo" array ([#​1118](https://togithub.com/phpstan/phpstan-src/pull/1118)), thanks [@​cs278](https://togithub.com/cs278)! - Update various DB functions for more specific row counts ([#​1116](https://togithub.com/phpstan/phpstan-src/pull/1116)), thanks [@​Seldaek](https://togithub.com/Seldaek)! - small signature update ([#​1126](https://togithub.com/phpstan/phpstan-src/pull/1126)), thanks [@​staabm](https://togithub.com/staabm)! # Internals πŸ” - tests: use unique namespace to prevent collisions ([#​1119](https://togithub.com/phpstan/phpstan-src/pull/1119)), thanks [@​staabm](https://togithub.com/staabm)! - ParaTest: leverage WrapperRunner for quicker tests ([#​1115](https://togithub.com/phpstan/phpstan-src/pull/1115)), thanks [@​Slamdunk](https://togithub.com/Slamdunk)! - LevelsTestCase performance improvement - clear result cache just once (https://github.com/phpstan/phpstan-src/commit/0a3e1a79738070c95e3a69406b33d9277a49840c) - Update phpdoc-parser to 1.4 (https://github.com/phpstan/phpstan-src/commit/6700eb69c1566190f3cad75fd5fa3edba64fce8e, https://github.com/phpstan/phpstan-src/commit/a3a7fad5b75dbf30e7685aac148e4b89b3e60509) - Update BetterReflection to 5.3 ([#​1132](https://togithub.com/phpstan/phpstan-src/pull/1132)) ### [`v1.5.0`](https://togithub.com/phpstan/phpstan/releases/1.5.0) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.4.10...1.5.0) **This release fixes 26 issues! πŸŽ‰** # Improvements πŸ”§ - Dropped support for PHP 7.1, PHPStan 1.5.0 runs on PHP 7.2-8.1. Users on PHP 7.1 accounted only for 0.8 % of installatoins. - Allow null as a return value when resolving return types ([#​1061](https://togithub.com/phpstan/phpstan-src/pull/1061)), [#​5855](https://togithub.com/phpstan/phpstan/issues/5855), thanks [@​matthiasnoback](https://togithub.com/matthiasnoback)! - Output elapsed time per file in debug mode ([#​1062](https://togithub.com/phpstan/phpstan-src/pull/1062)), [#​5294](https://togithub.com/phpstan/phpstan/issues/5294), thanks [@​janedbal](https://togithub.com/janedbal)! - A bit more precise concatenation of unions of literal strings ([#​937](https://togithub.com/phpstan/phpstan-src/pull/937)), [#​6439](https://togithub.com/phpstan/phpstan/issues/6439), thanks [@​staabm](https://togithub.com/staabm)! - `OptimizedDirectorySourceLocator::locateIdentifiersByType()` returns all located classes or functions ([#​1080](https://togithub.com/phpstan/phpstan-src/pull/1080)), thanks [@​tomasfejfar](https://togithub.com/tomasfejfar)! - Backward compatibility promise: ReflectionProvider cannot be extended/implemented by 3rd party code (https://github.com/phpstan/phpstan-src/commit/e60d6d6e9637db8a00bfd11cf446fabb3d545aa2) - implement `ArraySearchFunctionTypeSpecifyingExtension` ([#​1086](https://togithub.com/phpstan/phpstan-src/pull/1086)), [#​6863](https://togithub.com/phpstan/phpstan/issues/6863), thanks [@​staabm](https://togithub.com/staabm)! - added `ArrayReplaceFunctionReturnTypeExtension` ([#​1087](https://togithub.com/phpstan/phpstan-src/pull/1087)), [#​5327](https://togithub.com/phpstan/phpstan/issues/5327), thanks [@​staabm](https://togithub.com/staabm)! - Dynamic return type extension for `curl_getinfo` ([#​1072](https://togithub.com/phpstan/phpstan-src/pull/1072)), thanks [@​PrinsFrank](https://togithub.com/PrinsFrank)! - Support intersection types in template bounds ([#​1101](https://togithub.com/phpstan/phpstan-src/pull/1101)), [#​6649](https://togithub.com/phpstan/phpstan/issues/6649), thanks [@​rvanvelzen](https://togithub.com/rvanvelzen)! - Support `value-of` ([#​1082](https://togithub.com/phpstan/phpstan-src/pull/1082)), [#​6775](https://togithub.com/phpstan/phpstan/issues/6775), thanks [@​staabm](https://togithub.com/staabm)! # Bleeding edge πŸ”ͺ - Report useless `array_filter()` calls ([#​1077](https://togithub.com/phpstan/phpstan-src/pull/1077)), [#​6840](https://togithub.com/phpstan/phpstan/issues/6840), thanks [@​leongersen](https://togithub.com/leongersen)! *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 handling of `JSON_THROW_ON_ERROR` with optional bitwise flags ([#​1025](https://togithub.com/phpstan/phpstan-src/pull/1025)), [#​6654](https://togithub.com/phpstan/phpstan/issues/6654), thanks [@​staabm](https://togithub.com/staabm)! - Keep non nullability if right expr is `NeverType` ([#​1063](https://togithub.com/phpstan/phpstan-src/pull/1063)), [#​5351](https://togithub.com/phpstan/phpstan/issues/5351), thanks [@​rajyan](https://togithub.com/rajyan)! - Support more dynamic `$flags` arg in `preg_split()` ([#​1081](https://togithub.com/phpstan/phpstan-src/pull/1081)), thanks [@​staabm](https://togithub.com/staabm)! - Fix `array_keys` and `array_values` with accessory types ([#​1084](https://togithub.com/phpstan/phpstan-src/pull/1084)), [#​6859](https://togithub.com/phpstan/phpstan/issues/6859), thanks [@​staabm](https://togithub.com/staabm)! - Fix memory error when trying to represent big literal string types ([#​1088](https://togithub.com/phpstan/phpstan-src/pull/1088)), [#​6866](https://togithub.com/phpstan/phpstan/issues/6866), thanks [@​mathroc](https://togithub.com/mathroc)! - Add throw point for `UnhandledMatchError` ([#​1056](https://togithub.com/phpstan/phpstan-src/pull/1056)), [#​6115](https://togithub.com/phpstan/phpstan/issues/6115), thanks [@​rajyan](https://togithub.com/rajyan)! - Do not report unhandled match expression value if `@throws` tag is present with `UnhandledMatchError` ([#​1103](https://togithub.com/phpstan/phpstan-src/pull/1103)), thanks [@​rajyan](https://togithub.com/rajyan)! - Retain accessory string types in generics ([#​1096](https://togithub.com/phpstan/phpstan-src/pull/1096)), [#​6301](https://togithub.com/phpstan/phpstan/issues/6301), [#​3951](https://togithub.com/phpstan/phpstan/issues/3951), [#​6845](https://togithub.com/phpstan/phpstan/issues/6845), [#​5336](https://togithub.com/phpstan/phpstan/issues/5336), thanks [@​rvanvelzen](https://togithub.com/rvanvelzen)! - Simplify `FloatType::accepts` handling of `CompoundType`s ([#​1097](https://togithub.com/phpstan/phpstan-src/pull/1097)), [#​6872](https://togithub.com/phpstan/phpstan/issues/6872), thanks [@​herndlm](https://togithub.com/herndlm)! - Early termination for NeverType match expression ([#​1078](https://togithub.com/phpstan/phpstan-src/pull/1078)), [#​6257](https://togithub.com/phpstan/phpstan/issues/6257), [#​6251](https://togithub.com/phpstan/phpstan/issues/6251), thanks [@​rajyan](https://togithub.com/rajyan)! - ObjectType - different priority in iterable key and iterable value (https://github.com/phpstan/phpstan-src/commit/125619231fc24bf8bb99e9e1586a49d7199380b2), [#​6494](https://togithub.com/phpstan/phpstan/issues/6494) - Support `enum_exists` in ClassExistsFunctionTypeSpecifyingExtension ([#​1109](https://togithub.com/phpstan/phpstan-src/pull/1109)), thanks [@​staabm](https://togithub.com/staabm)! - Fix/issue 6870 expr early termination for `BinaryOp` ([#​1105](https://togithub.com/phpstan/phpstan-src/pull/1105)), [#​6870](https://togithub.com/phpstan/phpstan/issues/6870), [#​6890](https://togithub.com/phpstan/phpstan/issues/6890), thanks [@​rajyan](https://togithub.com/rajyan)! # Function signature fixes πŸ€– - Fix DOMNodeList stub and add DOMXPath::query() ([#​1052](https://togithub.com/phpstan/phpstan-src/pull/1052)), [#​6748](https://togithub.com/phpstan/phpstan/issues/6748), thanks [@​mkrauss](https://togithub.com/mkrauss)! - Change `ReflectionMethod::$class` type to `class-string` ([#​1107](https://togithub.com/phpstan/phpstan-src/pull/1107)), [#​6889](https://togithub.com/phpstan/phpstan/issues/6889), thanks [@​rvanvelzen](https://togithub.com/rvanvelzen)! - More precise function signatures ([#​1110](https://togithub.com/phpstan/phpstan-src/pull/1110)), thanks [@​staabm](https://togithub.com/staabm)! - Update `context` parameter signature in `fopen()` ([#​1113](https://togithub.com/phpstan/phpstan-src/pull/1113)), thanks [@​bytestream](https://togithub.com/bytestream)! - clear stat-cache also on `is_writeable()` calls ([#​1112](https://togithub.com/phpstan/phpstan-src/pull/1112)), thanks [@​staabm](https://togithub.com/staabm)! # Internals πŸ” - PHPStan now utilizes version-based naming of Git branches (`1.5.x`) instead of `master` - CI pipeline is faster thanks to several improvements: - Support for PHP 7.1 was dropped - Reproducible `phpstan.phar` checksum is computed and compared when running integration tests from `phpstan/phpstan` on pull requests in `phpstan-src`. The integration tests run only when the checksum was changed. This means that for example if only unit tests in phpstan-src were changed, PHAR didn't change and those integration tests from `phpstan/phpstan` don't have to run. - Rector downgrade cache was implemented. When transforming sources from PHP 8.0 to various lower PHP versions, cache is utilized instead of making Rector do the hard work each time. ### [`v1.4.10`](https://togithub.com/phpstan/phpstan/releases/1.4.10) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.4.9...1.4.10) - Fix the difference between `?T` and `T|null` (https://github.com/phpstan/phpstan-src/commit/28776ffd4604e92761e09413cfc9c096d2547ad8), [#​6790](https://togithub.com/phpstan/phpstan/issues/6790) - Check property assign `TypeError` throw point by native type ([#​1065](https://togithub.com/phpstan/phpstan-src/pull/1065)), [#​6791](https://togithub.com/phpstan/phpstan/issues/6791), [#​6786](https://togithub.com/phpstan/phpstan/issues/6786), thanks [@​rajyan](https://togithub.com/rajyan)! ### [`v1.4.9`](https://togithub.com/phpstan/phpstan/releases/1.4.9) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.4.8...1.4.9) # Improvements πŸ”§ - `Identical` (`===` and `!==`) and `Equal` (`==` and `!=`) with the same variables resolve to `ConstantBooleanType` (https://github.com/phpstan/phpstan-src/commit/98c4d84ec983fb36992119d4c393d7192a2a99b6) - Scalars of the same type on both of `Equal` (`==` and `!=`) are delegated to `Identical` (`===` and `!==`) (https://github.com/phpstan/phpstan-src/commit/316f269d6e81fcfa435f74cb1155076e349f053f) # Bugfixes πŸ› - Fix trait detection recursion ([#​1050](https://togithub.com/phpstan/phpstan-src/pull/1050)), [#​6740](https://togithub.com/phpstan/phpstan/issues/6740), thanks [@​herndlm](https://togithub.com/herndlm)! - Do not add `null` to a template type for a default parameter value `null` (https://github.com/phpstan/phpstan-src/commit/7a66cb6eda85703811c7dce472355e036d70c144), [#​6584](https://togithub.com/phpstan/phpstan/issues/6584) - Fix nullable closure parameter type (https://github.com/phpstan/phpstan-src/commit/c05ba984a08d1fa50e0edf63e99a9a893e78e821), [#​6701](https://togithub.com/phpstan/phpstan/issues/6701) - TemplateType - fix description for subtracted mixed bound (https://github.com/phpstan/phpstan-src/commit/6525d6805b1beece69ec97802bdf16dd8545cfdf) - Fix dead catch when iterating objects ([#​1051](https://togithub.com/phpstan/phpstan-src/pull/1051)), [#​5903](https://togithub.com/phpstan/phpstan/issues/5903), thanks [@​rajyan](https://togithub.com/rajyan)! - Fix false positive dead catch on property assignment ([#​1047](https://togithub.com/phpstan/phpstan-src/pull/1047)), [#​6256](https://togithub.com/phpstan/phpstan/issues/6256), thanks [@​rajyan](https://togithub.com/rajyan)! - Fix template type subtraction and union (https://github.com/phpstan/phpstan-src/commit/51e2df38ee7fbda5416e1c5c1091dacf8618f3e1), [#​6591](https://togithub.com/phpstan/phpstan/issues/6591) - Simulate `offsetSet` to get throw points for ArrayAccess assignment ([#​1054](https://togithub.com/phpstan/phpstan-src/pull/1054)), [#​4852](https://togithub.com/phpstan/phpstan/issues/4852), thanks [@​rajyan](https://togithub.com/rajyan)! - Make return type extension for `array_column()` aware of PHP version ([#​1053](https://togithub.com/phpstan/phpstan-src/pull/1053)), thanks [@​jlherren](https://togithub.com/jlherren)! - Fix Unused private constant with an indirect access ([#​1059](https://togithub.com/phpstan/phpstan-src/pull/1059)), [#​6758](https://togithub.com/phpstan/phpstan/issues/6758), thanks [@​rajyan](https://togithub.com/rajyan)! - Fix `Equal` (`==` and `!=`) handling in TypeSpecifier (https://github.com/phpstan/phpstan-src/commit/10b295f3cde7d91cc2b2784fc012910be6a06fb8) - Fix more TypeSpecifier issues regarding `Identical` (`===` and `!==`) ([#​1058](https://togithub.com/phpstan/phpstan-src/pull/1058)) ### [`v1.4.8`](https://togithub.com/phpstan/phpstan/releases/1.4.8) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.4.7...1.4.8) # Improvements πŸ”§ - Validate `ignoreErrors` regexes during DIC compilation (save time in each run) (https://github.com/phpstan/phpstan-src/commit/692158c194eff722167f5316d31369a188a88a72), [#​6693](https://togithub.com/phpstan/phpstan/issues/6693) - Validate `parametersSchema` only during DIC compilation (https://github.com/phpstan/phpstan-src/commit/50f25e95ad2f99d9fb73e512ac9b54599653305b) - Retain left and right types in `==` and `===` expression ([#​1046](https://togithub.com/phpstan/phpstan-src/pull/1046)), thanks [@​herndlm](https://togithub.com/herndlm)! - Add support for integer ranges in `strtotime()` with constant strings ([#​1045](https://togithub.com/phpstan/phpstan-src/pull/1045)), thanks [@​Seldaek](https://togithub.com/Seldaek)! # Bugfixes πŸ› - Fix `is_subclass_of` with same class ([#​1044](https://togithub.com/phpstan/phpstan-src/pull/1044)), [#​6305](https://togithub.com/phpstan/phpstan/issues/6305), thanks [@​herndlm](https://togithub.com/herndlm)! - Fix Incorrectly nested style tag found for narrow terminals (https://github.com/phpstan/phpstan-src/commit/d921d067702acb1cc0451753dcdf3be142b29aed), [#​6724](https://togithub.com/phpstan/phpstan/issues/6724), [#​6727](https://togithub.com/phpstan/phpstan/issues/6727) - Empty array infers key and value type as never (https://github.com/phpstan/phpstan-src/commit/c2b9e713daa09db18111d28ba5c8cd79beeaeec5), [#​3400](https://togithub.com/phpstan/phpstan/issues/3400), [#​6353](https://togithub.com/phpstan/phpstan/issues/6353), [#​5757](https://togithub.com/phpstan/phpstan/issues/5757), [#​5065](https://togithub.com/phpstan/phpstan/issues/5065) - `ArrayType::traverse()` - create empty `ConstantArrayType` in case of `never` (https://github.com/phpstan/phpstan-src/commit/8c1dfc1afb3f381c8e50befe38e8abc581c67db2) ### [`v1.4.7`](https://togithub.com/phpstan/phpstan/releases/1.4.7) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.4.6...1.4.7) **This release fixes 43 issues! πŸŽ‰** # Improvements πŸ”§ - Run the parallel worker even for a low number of files ([#​686](https://togithub.com/phpstan/phpstan-src/commit/21590573d4cf113d13b8ea0518ebd06eeee9a98e)), [#​6606](https://togithub.com/phpstan/phpstan/issues/6606) - Autodiscover `phpstan.dist.neon` as a config file ([#​1006](https://togithub.com/phpstan/phpstan-src/pull/1006)), [#​6561](https://togithub.com/phpstan/phpstan/issues/6561), thanks [@​b1rdex](https://togithub.com/b1rdex)! - Make editor links clickable for terminals supporting hrefs ([#​1013](https://togithub.com/phpstan/phpstan-src/pull/1013), https://github.com/phpstan/phpstan-src/commit/bbf14bf635e91aad4be81ad6eacc8b18fb3b31ed), thanks [@​Seldaek](https://togithub.com/Seldaek)! - Table format error output - improve table wrapping (https://github.com/phpstan/phpstan-src/commit/bc481b74fb54f494d616e5f7bb04053b7fffc28f) - Implemented ConstantStringType inference for `str_repeat` ([#​1030](https://togithub.com/phpstan/phpstan-src/pull/1030)), [#​6679](https://togithub.com/phpstan/phpstan/issues/6679), thanks [@​staabm](https://togithub.com/staabm)! - Deprecate `TypeUtils::generalizeType()` (https://github.com/phpstan/phpstan-src/commit/267457712854e8ed1de9c6b99e918e2d9d1219d3) - Date format return type extensions (https://github.com/phpstan/phpstan-src/commit/b49df58105e5300d4a2d7b0ff44a5a6f5806f240), [#​6550](https://togithub.com/phpstan/phpstan/issues/6550) - Infer explicit mixed when instantiating generic class with unknown template types ([bleeding edge](https://phpstan.org/blog/what-is-bleeding-edge)) (https://github.com/phpstan/phpstan-src/commit/089d4c6fb6eb709c44123548d33990113d174b86), [#​6398](https://togithub.com/phpstan/phpstan/issues/6398) # Bugfixes πŸ› - Fix incorrect array `sizeof()` when using `unset()` ([#​971](https://togithub.com/phpstan/phpstan-src/pull/971)), [#​6488](https://togithub.com/phpstan/phpstan/issues/6488), thanks [@​staabm](https://togithub.com/staabm)! - Split `TemplateType::isSubTypeOf()` and `TemplateType::isAcceptedBy()` ([#​1001](https://togithub.com/phpstan/phpstan-src/pull/1001)), [#​6589](https://togithub.com/phpstan/phpstan/issues/6589), thanks [@​arnaud-lb](https://togithub.com/arnaud-lb)! - Use a BenovolentUnionType for properties in SimpleXMLElement ([#​76](https://togithub.com/phpstan/phpstan-src/pull/76)), [#​2784](https://togithub.com/phpstan/phpstan/issues/2784), [#​6020](https://togithub.com/phpstan/phpstan/issues/6020), thanks [@​orklah](https://togithub.com/orklah)! - Binary operations on `non-empty-string` and `string` should error ([#​1011](https://togithub.com/phpstan/phpstan-src/pull/1010)), [#​6624](https://togithub.com/phpstan/phpstan/issues/6624), thanks [@​staabm](https://togithub.com/staabm)! - No longer verify types when `TypeSpecifyingExtension` uses `$overwrite=true` ([#​1011](https://togithub.com/phpstan/phpstan-src/pull/1011)), [#​6620](https://togithub.com/phpstan/phpstan/issues/6620), thanks [@​staabm](https://togithub.com/staabm)! - Normalize specified types before intersection ([#​1016](https://togithub.com/phpstan/phpstan-src/pull/1016)), [#​6329](https://togithub.com/phpstan/phpstan/issues/6329), thanks [@​herndlm](https://togithub.com/herndlm)! - Improve intersect and union of SubtractableTypes ([#​1028](https://togithub.com/phpstan/phpstan-src/pull/1028)), [#​6672](https://togithub.com/phpstan/phpstan/issues/6672), thanks [@​herndlm](https://togithub.com/herndlm)! - Ignore `@template` above a property (https://github.com/phpstan/phpstan-src/commit/53563e9429f9559120aa8e043d9283c6b4c2d0a9) - Add missing `SpecifiedTypes` for `count()` and `strlen()` in `===` expressions ([#​1021](https://togithub.com/phpstan/phpstan-src/pull/1021)), thanks [@​herndlm](https://togithub.com/herndlm)! - Detect closure parameter types when passing closure in a union ([#​1019](https://togithub.com/phpstan/phpstan-src/pull/1019)), [#​5675](https://togithub.com/phpstan/phpstan/issues/5675), [#​6629](https://togithub.com/phpstan/phpstan/issues/6629), thanks [@​axlon](https://togithub.com/axlon)! - Fix another BooleanOr issue (https://github.com/phpstan/phpstan-src/commit/cc6655f9311a738bc2dec6bad2c6e6b6b8173c81), [#​6696](https://togithub.com/phpstan/phpstan/issues/6696), [#​6112](https://togithub.com/phpstan/phpstan/issues/6112), [#​5749](https://togithub.com/phpstan/phpstan/issues/5749) - Fix anonymous class reflection error (https://github.com/phpstan/phpstan-src/commit/0e5d58604e4cfdc5f9c2742736a05c1434de8821), [#​6681](https://togithub.com/phpstan/phpstan/issues/6681) - OptimizedDirectorySourceLocator - fix bug with uppercase Enum keyword (https://github.com/phpstan/phpstan-src/commit/7110a088ffb28e368b4ba23f73c23b936e4ff05c) - Template tag without bound is explicit mixed (https://github.com/phpstan/phpstan-src/commit/0808a89469a0d28bebd0b8d7b14af1639e441215) - Fix isSmallerThan etc. in BenevolentUnionType (https://github.com/phpstan/phpstan-src/commit/dd5633f1835d58f67edb95858185b7791a13220c), [#​5969](https://togithub.com/phpstan/phpstan/issues/5969), [#​5295](https://togithub.com/phpstan/phpstan/issues/5295) - Do not generalize `class-string` during template type inference ([#​1038](https://togithub.com/phpstan/phpstan-src/pull/1038)), [#​6505](https://togithub.com/phpstan/phpstan/issues/6505), [#​6699](https://togithub.com/phpstan/phpstan/issues/6699), thanks [@​arnaud-lb](https://togithub.com/arnaud-lb)! - Support for `class-string` `$class` parameter in `is_subclass_of()` ([#​1039](https://togithub.com/phpstan/phpstan-src/pull/1039)), [#​6698](https://togithub.com/phpstan/phpstan/issues/6698), [#​5369](https://togithub.com/phpstan/phpstan/issues/5369), thanks [@​arnaud-lb](https://togithub.com/arnaud-lb)! - Fix generalization of `EnumCaseObjectType` (https://github.com/phpstan/phpstan-src/commit/9e428966d8f985db3199a234406c6799abd18617), [#​6695](https://togithub.com/phpstan/phpstan/issues/6695), [#​6433](https://togithub.com/phpstan/phpstan/issues/6433) - Duplicate and adapt solution from `is_subclass_of()` for `is_a()` ([#​1040](https://togithub.com/phpstan/phpstan-src/pull/1040)), [#​6704](https://togithub.com/phpstan/phpstan/issues/6704), thanks [@​herndlm](https://togithub.com/herndlm)! - ImplodeFunctionReturnTypeExtension - fix handling optional keys in ConstantArrayType (https://github.com/phpstan/phpstan-src/commit/7f643c5866c3aab51a93e971ab0a7cf471111edf), [#​6715](https://togithub.com/phpstan/phpstan/issues/6715) - Improve `ArrayType::castToArrayKeyType()` for booleans ([#​1033](https://togithub.com/phpstan/phpstan-src/pull/1033)), thanks [@​jlherren](https://togithub.com/jlherren)! - Fix `ArrayColumnFunctionReturnTypeExtension` producing array key types ([#​1033](https://togithub.com/phpstan/phpstan-src/pull/1033)), [#​6682](https://togithub.com/phpstan/phpstan/issues/6682), thanks [@​jlherren](https://togithub.com/jlherren)! - Fix `in_array()` for arrays with union value type (https://github.com/phpstan/phpstan-src/commit/4321374cadc2d0a2a738fa322888e15d61116d56), [#​6705](https://togithub.com/phpstan/phpstan/issues/6705), [#​5668](https://togithub.com/phpstan/phpstan/issues/5668), [#​5759](https://togithub.com/phpstan/phpstan/issues/5759), [#​3314](https://togithub.com/phpstan/phpstan/issues/3314), [#​5496](https://togithub.com/phpstan/phpstan/issues/5496), [#​4666](https://togithub.com/phpstan/phpstan/issues/4666), [#​3892](https://togithub.com/phpstan/phpstan/issues/3892), [#​5354](https://togithub.com/phpstan/phpstan/issues/5354), [#​2870](https://togithub.com/phpstan/phpstan/issues/2870) # Function signature fixes πŸ€– - Add FilterIterator stub (https://github.com/phpstan/phpstan-src/commit/c5f4c3b1693b8e0b3bcab5705d4f301999c523b3) - Add CallbackFilterIterator stub (https://github.com/phpstan/phpstan-src/commit/868720e093f4246748846f7629dc57391d7daaff) - Add RecursiveCallbackFilterIterator stub (https://github.com/phpstan/phpstan-src/commit/86a63ff1f07352fffe84b2ad0468d5d14a0fc2d3) - Correct the case for various class names. ([#​1007](https://togithub.com/phpstan/phpstan-src/pull/1007)), thanks [@​johnbillion](https://togithub.com/johnbillion)! - Update the signature for `set_error_handler()`. ([#​1008](https://togithub.com/phpstan/phpstan-src/pull/1008)), [#​6619](https://togithub.com/phpstan/phpstan/issues/6619), thanks [@​johnbillion](https://togithub.com/johnbillion)! - `PDOStatement::fetchAll` no longer returns false on PHP8 ([#​1014](https://togithub.com/phpstan/phpstan-src/pull/1014)), thanks [@​xPaw](https://togithub.com/xPaw)! - `mb_*` fatal errors on php8 with invalid encoding ([#​969](https://togithub.com/phpstan/phpstan-src/pull/969)), thanks [@​staabm](https://togithub.com/staabm)! - Allow 1st argument `$read` of `stream_select` to be nullable ([#​1031](https://togithub.com/phpstan/phpstan-src/pull/1031)), thanks [@​niconoe-](https://togithub.com/niconoe-)! - Fix `PDOException::getCode()` return type ([#​1018](https://togithub.com/phpstan/phpstan-src/pull/1018)), [#​6651](https://togithub.com/phpstan/phpstan/issues/6651), thanks [@​VincentLanglet](https://togithub.com/VincentLanglet)! - Countable stub with `0|positive-int` ([bleeding edge](https://phpstan.org/blog/what-is-bleeding-edge)) ([#​1027](https://togithub.com/phpstan/phpstan-src/pull/1027)), thanks [@​staabm](https://togithub.com/staabm)! - Fix `substr()` return type on PHP < 8 - use benevolent union type ([#​1036](https://togithub.com/phpstan/phpstan-src/pull/1036)), thanks [@​Seldaek](https://togithub.com/Seldaek)! - Fixed error return signatures for `\SplFileInfo` ([#​1034](https://togithub.com/phpstan/phpstan-src/pull/1034)), [#​6680](https://togithub.com/phpstan/phpstan/issues/6680), thanks [@​siganushka](https://togithub.com/siganushka)! - Fix `setFetchMode` signature with `fetch_class` ([#​1043](https://togithub.com/phpstan/phpstan-src/pull/1043)), thanks [@​Seldaek](https://togithub.com/Seldaek)! - `preg_filter` return type extension ([#​1024](https://togithub.com/phpstan/phpstan-src/pull/1024)), [#​6664](https://togithub.com/phpstan/phpstan/issues/6664), thanks [@​staabm](https://togithub.com/staabm)! - more precise `preg_match_all` return type on PHP 8 ([#​1023](https://togithub.com/phpstan/phpstan-src/pull/1023)), thanks [@​staabm](https://togithub.com/staabm)! ### [`v1.4.6`](https://togithub.com/phpstan/phpstan/releases/1.4.6) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.4.5...1.4.6) # Improvements πŸ”§ - Implemented constant type inference for `implode()` function ([#​991](https://togithub.com/phpstan/phpstan-src/pull/991)), thanks [@​staabm](https://togithub.com/staabm)! # Bugfixes πŸ› - Fix interaction between template type and union type ([#​992](https://togithub.com/phpstan/phpstan-src/pull/992)), [#​5591](https://togithub.com/phpstan/phpstan/issues/5591), thanks [@​arnaud-lb](https://togithub.com/arnaud-lb)! - Delegate most of `TypeCombinator::remove()` to `Type::tryRemove()` ([#​994](https://togithub.com/phpstan/phpstan-src/pull/994)), [#​6438](https://togithub.com/phpstan/phpstan/issues/6438), thanks [@​arnaud-lb](https://togithub.com/arnaud-lb)! - TemplateType should accept a TemplateType derived from itself ([#​999](https://togithub.com/phpstan/phpstan-src/pull/999)), [#​5844](https://togithub.com/phpstan/phpstan/issues/5844), [#​5706](https://togithub.com/phpstan/phpstan/issues/5706), thanks [@​arnaud-lb](https://togithub.com/arnaud-lb)! - Fixed intersecting and removal from TemplateUnionType (https://github.com/phpstan/phpstan-src/commit/0d288353ca782ef79e362657c2581abf4246a2f8), [#​6566](https://togithub.com/phpstan/phpstan/issues/6566) - Fixed type seen by IterableInForeachRule with inline `@var` right above `foreach` (https://github.com/phpstan/phpstan-src/commit/b6bbbaf6b01cbd43ae2800bbd00fe0ddbcb2e0d9), [#​6564](https://togithub.com/phpstan/phpstan/issues/6564) - modulo 1 is always zero ([#​973](https://togithub.com/phpstan/phpstan-src/pull/973)), thanks [@​staabm](https://togithub.com/staabm)! - multiply by zero is always zero ([#​974](https://togithub.com/phpstan/phpstan-src/pull/974)), thanks [@​staabm](https://togithub.com/staabm)! - Fixed discovering backed enum without space around `:` (https://github.com/phpstan/phpstan-src/commit/5162bcfea5456eb827035cd249c5ace55057237b), [https://github.com/composer/composer/issues/10498](https://togithub.com/composer/composer/issues/10498) # Function signature fixes πŸ€– - Function `md5()` always return `non-empty-string` ([#​987](https://togithub.com/phpstan/phpstan-src/pull/987)), thanks [@​janbarasek](https://togithub.com/janbarasek)! - Correct the case for parameters that accept an instance of `Iterator`. ([#​988](https://togithub.com/phpstan/phpstan-src/pull/988)), thanks [@​johnbillion](https://togithub.com/johnbillion)! - Fix the return types of `round()`/`ceil()`/`floor()` ([#​729](https://togithub.com/phpstan/phpstan-src/pull/729)), thanks [@​johnbillion](https://togithub.com/johnbillion)! - Correct the return type of `SplFileObject::fstat()` ([#​996](https://togithub.com/phpstan/phpstan-src/pull/996)), thanks [@​johnbillion](https://togithub.com/johnbillion)! - Improve the return type of functions that return an indexed array of strings ([#​997](https://togithub.com/phpstan/phpstan-src/pull/997)), thanks [@​johnbillion](https://togithub.com/johnbillion)! ### [`v1.4.5`](https://togithub.com/phpstan/phpstan/releases/1.4.5) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.4.4...1.4.5) # Improvements πŸ”§ - AnalyseApplication: Do not re-analyse stubs on every run ([#​730](https://togithub.com/phpstan/phpstan-src/pull/730)), [#​5826](https://togithub.com/phpstan/phpstan/issues/5826), thanks [@​dktapps](https://togithub.com/dktapps)! - Add shorthand for `--generate-baseline` (`-b`) ([#​980](https://togithub.com/phpstan/phpstan-src/pull/980)), thanks [@​Seldaek](https://togithub.com/Seldaek)! - Support narrowing down `array_filter()` return type via string callable ([#​938](https://togithub.com/phpstan/phpstan-src/pull/938)), [#​6417](https://togithub.com/phpstan/phpstan/issues/6417), thanks [@​herndlm](https://togithub.com/herndlm)! - Loop optimization ([#​757](https://togithub.com/phpstan/phpstan-src/pull/757)), thanks [@​ging-dev](https://togithub.com/ging-dev)! # Bugfixes πŸ› - Fixed level 9 issues (https://github.com/phpstan/phpstan-src/commit/9f12f0fb4877b28cdad42644d927f579c42db22d), [#​6423](https://togithub.com/phpstan/phpstan/issues/6423), [#​6464](https://togithub.com/phpstan/phpstan/issues/6464), [#​6236](https://togithub.com/phpstan/phpstan/issues/6236), [#​6418](https://togithub.com/phpstan/phpstan/issues/6418), [#​6118](https://togithub.com/phpstan/phpstan/issues/6118), [#​6081](https://togithub.com/phpstan/phpstan/issues/6081), [#​6053](https://togithub.com/phpstan/phpstan/issues/6053), [#​6055](https://togithub.com/phpstan/phpstan/issues/6055), [#​5860](https://togithub.com/phpstan/phpstan/issues/5860), [#​6230](https://togithub.com/phpstan/phpstan/issues/6230) - Cast PHPDoc array key type with array key casting rules (https://github.com/phpstan/phpstan-src/commit/5d17b847d9f60a0fba21d76d813a612c042fdb1c), [#​6117](https://togithub.com/phpstan/phpstan/issues/6117) - Support closure bind with class-string ([#​706](https://togithub.com/phpstan/phpstan-src/pull/706)), [#​4949](https://togithub.com/phpstan/phpstan/issues/4949), thanks [@​mvorisek](https://togithub.com/mvorisek)! - Fix `NeverType::toBoolean()` (https://github.com/phpstan/phpstan-src/commit/fe3a3419d5d8d2b276456971afc3e1804ab1c759), [#​6258](https://togithub.com/phpstan/phpstan/issues/6258) - Fix `DatePeriod` constructor extension in subclasses (https://github.com/phpstan/phpstan-src/commit/0c82b3a2675f636db920a0a3e077a45a87200766), [#​6500](https://togithub.com/phpstan/phpstan/issues/6500) - Forget remembered specific type when entering arrow function with same-named parameter (https://github.com/phpstan/phpstan-src/commit/af38f03b41d002bd01afa989921acd9f1114fc0e), [#​6473](https://togithub.com/phpstan/phpstan/issues/6473) - Fix segfault (https://github.com/phpstan/phpstan-src/commit/d101764ff94a5838930a11fdac7ca9156ded7dc4), [#​6501](https://togithub.com/phpstan/phpstan/issues/6501) # Function signature fixes πŸ€– - More precise `array_chunk` signature ([#​709](https://togithub.com/phpstan/phpstan-src/pull/709)), thanks [@​staabm](https://togithub.com/staabm)! - Narrow the type for the `preg_replace_callback()` callable. ([#​758](https://togithub.com/phpstan/phpstan-src/pull/758)), thanks [@​johnbillion](https://togithub.com/johnbillion)! - Update return types for hash functions ([#​822](https://togithub.com/phpstan/phpstan-src/pull/822)), thanks [@​jlherren](https://togithub.com/jlherren)! - Fix type for `array_splice()` argument `$replacement` ([#​901](https://togithub.com/phpstan/phpstan-src/pull/901)), [#​6288](https://togithub.com/phpstan/phpstan/issues/6288), thanks [@​spawnia](https://togithub.com/spawnia)! - `stream_bucket_new` returns an object ([#​968](https://togithub.com/phpstan/phpstan-src/pull/968)), thanks [@​mind-bending-forks](https://togithub.com/mind-bending-forks)! - More precise signatures for `mb_*` functions ([#​717](https://togithub.com/phpstan/phpstan-src/pull/717)), thanks [@​staabm](https://togithub.com/staabm)! - Fix `array_column()` with `null` as `$column_key` ([#​970](https://togithub.com/phpstan/phpstan-src/pull/970)), thanks [@​jlherren](https://togithub.com/jlherren)! ### [`v1.4.4`](https://togithub.com/phpstan/phpstan/releases/1.4.4) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.4.3...1.4.4) # Improvements πŸ”§ - Return type extension for `array_column()` ([#​948](https://togithub.com/phpstan/phpstan-src/pull/948)), thanks [@​jlherren](https://togithub.com/jlherren)! - Generic stub for `DatePeriod` + constructor dynamic return type extension ([#​958](https://togithub.com/phpstan/phpstan-src/pull/958)), [#​5953](https://togithub.com/phpstan/phpstan/issues/5953), thanks [@​Alban-io](https://togithub.com/Alban-io)! - Resolve remaining predefined constants ([#​693](https://togithub.com/phpstan/phpstan-src/pull/693)), thanks [@​herndlm](https://togithub.com/herndlm)! # Bugfixes πŸ› - Support all `array_filter()` flags for narrowing down types ([#​941](https://togithub.com/phpstan/phpstan-src/pull/941)), thanks [@​herndlm](https://togithub.com/herndlm)! - Fix error The supplied range exceeds the maximum array size ([#​934](https://togithub.com/phpstan/phpstan-src/pull/934)), [#​6375](https://togithub.com/phpstan/phpstan/issues/6375), thanks [@​voku](https://togithub.com/voku)! - Nullable union template type bound is actually supported (https://github.com/phpstan/phpstan-src/commit/1d8b2eb269b1de8c449b372580852c2a6307c323), [#​4656](https://togithub.com/phpstan/phpstan/issues/4656), [#​5305](https://togithub.com/phpstan/phpstan/issues/5305), [#​3384](https://togithub.com/phpstan/phpstan/issues/3384) - Fix reporting nonexistent offset in `isset()` (https://github.com/phpstan/phpstan-src/commit/f05e8eb8fe3d979afa9e627371f4df92ab28fadf), [#​4926](https://togithub.com/phpstan/phpstan/issues/4926) - Fix interaction between template type and intersection type ([#​955](https://togithub.com/phpstan/phpstan-src/pull/955)), [#​6210](https://togithub.com/phpstan/phpstan/issues/6210), thanks [@​arnaud-lb](https://togithub.com/arnaud-lb)! - Fix tests on 32-bit ([#​957](https://togithub.com/phpstan/phpstan-src/pull/957)), thanks [@​herndlm](https://togithub.com/herndlm)! - Fix resolving type of `isset()`, `empty()` and null coalesce operator (`??`) (https://github.com/phpstan/phpstan-src/commit/3b17acc5de4ac507d678f9ca9b2cd15937921ffb), [#​4592](https://togithub.com/phpstan/phpstan/issues/4592), [#​4903](https://togithub.com/phpstan/phpstan/issues/4903), [#​2420](https://togithub.com/phpstan/phpstan/issues/2420), [#​2718](https://togithub.com/phpstan/phpstan/issues/2718), [#​3126](https://togithub.com/phpstan/phpstan/issues/3126), [#​4586](https://togithub.com/phpstan/phpstan/issues/4586), [#​4887](https://togithub.com/phpstan/phpstan/issues/4887) # Function signature fixes πŸ€– - Narrow down the return type of the `Throwable::getTrace()` method ([#​914](https://togithub.com/phpstan/phpstan-src/pull/914)), thanks [@​ste93cry](https://togithub.com/ste93cry)! - Fix DOMDocument::saveXML signature ([#​956](https://togithub.com/phpstan/phpstan-src/pull/956)), thanks [@​kissifrot](https://togithub.com/kissifrot)! ### [`v1.4.3`](https://togithub.com/phpstan/phpstan/releases/1.4.3) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.4.2...1.4.3) # Improvements πŸ”§ - Support for `--memory-limit` CLI option in `clear-result-cache` command (https://github.com/phpstan/phpstan-src/commit/156700b5152ada253edba34b39cda955729e97a8), [#​6432](https://togithub.com/phpstan/phpstan/issues/6432) - Pass verbosity to workers and show stack trace on error ([#​935](https://togithub.com/phpstan/phpstan-src/pull/935)), thanks [@​benja-M-1](https://togithub.com/benja-M-1)! - Move collecting errors from error handler from Analyser to FileAnalyser to be used in parallel runs too (https://github.com/phpstan/phpstan-src/commit/7dd699f9461704a8ef2f4505f1dec534f13e7ccd) - Use memory limit management trick from Laravel instead of the current `.memory_limit` file (https://github.com/phpstan/phpstan-src/commit/daf7d5577bd8c796509768eb6a8d2862b6027a53), https://twitter.com/timacdonald87/status/1484804225658146823 # Bugfixes πŸ› - Fix unset() on intersection with hasOffset (https://github.com/phpstan/phpstan-src/commit/b43c057d2d34448b421cd879320974f393d992ac), [#​6399](https://togithub.com/phpstan/phpstan/issues/6399), [#​4357](https://togithub.com/phpstan/phpstan/issues/4357) - ConstantStringType - catch Error in setOffsetValueType (https://github.com/phpstan/phpstan-src/commit/54f67c5252fe1a4eff30703875b734111ab46e5a), [#​6231](https://togithub.com/phpstan/phpstan/issues/6231) - Fix reflection error for the attribute `#[ReturnTypeWillChange]` on PHP 7.1-7.4 (https://github.com/ondrejmirtes/BetterReflection/commit/bf362441dceecd766dbd54bd470c7b4c333e4c13, https://github.com/phpstan/phpstan-src/commit/639a055975fceffe94902fee9d90bff88ec11cf0), [#​6414](https://togithub.com/phpstan/phpstan/issues/6414) - Fix `array_filter` with callback that always evaluates to false ([#​939](https://togithub.com/phpstan/phpstan-src/pull/939)), thanks [@​herndlm](https://togithub.com/herndlm)! - Fix iterable key and value type - prefer generic type variables instead of key()/current() typehints (https://github.com/phpstan/phpstan-src/commit/a2acf64f793976a21f22babbfc27318a60fea4fa), [#​5817](https://togithub.com/phpstan/phpstan/issues/5817) - Fix trait detection recursion for anonymous classes ([#​946](https://togithub.com/phpstan/phpstan-src/pull/946)), thanks [@​herndlm](https://togithub.com/herndlm)! - Fix internal error with a big number in for loop condition (https://github.com/phpstan/phpstan-src/commit/f1734dc5318d1777c7ae6e77d4d3777182e845aa), [#​6466](https://togithub.com/phpstan/phpstan/issues/6466) # Function signature fixes πŸ€– - Add missing `Ds\Set::reduce()` to stubs ([#​942](https://togithub.com/phpstan/phpstan-src/pull/942)), thanks [@​ZebulanStanphill](https://togithub.com/ZebulanStanphill)! - Refine `*strlen()` return type to exclude negative integers ([#​945](https://togithub.com/phpstan/phpstan-src/pull/945)), thanks [@​staabm](https://togithub.com/staabm)! - Bugfix `DatePeriod::getEndDate` declaration ([#​951](https://togithub.com/phpstan/phpstan-src/pull/951)), thanks [@​nyamsprod](https://togithub.com/nyamsprod)! ### [`v1.4.2`](https://togithub.com/phpstan/phpstan/releases/1.4.2) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.4.1...1.4.2) - CleaningParser - remove conditional code by `PHP_VERSION_ID` (https://github.com/phpstan/phpstan-src/commit/433511a3eb526b0a340277aeb48ff20f292922d1), [#​6386](https://togithub.com/phpstan/phpstan/issues/6386), [https://github.com/api-platform/core/issues/4614](https://togithub.com/api-platform/core/issues/4614), [https://github.com/api-platform/api-platform/issues/2101](https://togithub.com/api-platform/api-platform/issues/2101) - Enums will no longer crash the playground (https://github.com/phpstan/phpstan-src/commit/121e0212db869fe0c42307a1485f27054d492041) - Fix `ObjectType::equals()` when compared to `EnumCaseObjectType` (https://github.com/phpstan/phpstan-src/commit/ab0245c49a16609da528d8e91dc5124b2c911ecb), [#​6394](https://togithub.com/phpstan/phpstan/issues/6394) - Fix calling method statically on string (https://github.com/phpstan/phpstan-src/commit/3aa878f2b22907b440055a714c605e8bb6e3de58), [#​6404](https://togithub.com/phpstan/phpstan/issues/6404) - Fix native type of variadic parameter (https://github.com/phpstan/phpstan-src/commit/a5447db695e55151c52d5cf67b489fceb7d51c43), [#​6393](https://togithub.com/phpstan/phpstan/issues/6393), [#​5698](https://togithub.com/phpstan/phpstan/issues/5698) - Update PhpStorm stubs ([#​930](https://togithub.com/phpstan/phpstan-src/pull/930)) ### [`v1.4.1`](https://togithub.com/phpstan/phpstan/releases/1.4.1) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.4.0...1.4.1) # Improvements πŸ”§ - TypeSpecifier - understand `==` operator for the same types on both sides (https://github.com/phpstan/phpstan-src/commit/e40eff0a8e34ceae776e38d48a31efbe67ea399a), [#​6370](https://togithub.com/phpstan/phpstan/issues/6370), [#​4413](https://togithub.com/phpstan/phpstan/issues/4413) - Add `ClassReflection::getBackedEnumType()` method (https://github.com/phpstan/phpstan-src/commit/a0ed2d304e0344df34b49e010d5f491f0d321d3a) - Achieve `BenevolentUnionType` return type without dynamic return type extension (https://github.com/phpstan/phpstan-src/commit/723dfc51eab190ff940d0b0130b9986eb1b5d36a), [https://github.com/phpstan/phpstan/discussions/6391](https://togithub.com/phpstan/phpstan/discussions/6391) # Bugfixes πŸ› - Allow readonly property write in `__unserialize` ([#​929](https://togithub.com/phpstan/phpstan-src/pull/929)), thanks [@​ruudk](https://togithub.com/ruudk)! - Fix missing properties on `UnitEnum` and `BackedEnum` (https://github.com/phpstan/phpstan-src/commit/67d3a882a85e53f36158e60a8cb30e997aca293c), [#​6385](https://togithub.com/phpstan/phpstan/issues/6385) - `ConstantArrayTypeBuilder` - fix for potential performance problems (https://github.com/phpstan/phpstan-src/commit/86b93068ae863a0377118dfe93c3b1286a8673b7), [#​6375](https://togithub.com/phpstan/phpstan/issues/6375) # Function signature fixes πŸ€– - Add missing `Set::map()` method to functionMap ([#​923](https://togithub.com/phpstan/phpstan-src/pull/923)), thanks [@​simPod](https://togithub.com/simPod)! - `gnupg_verify()` accepts false fot its signature param ([#​925](https://togithub.com/phpstan/phpstan-src/pull/925)), thanks [@​spaze](https://togithub.com/spaze)! - Improve signature of `random_bytes()` ([#​926](https://togithub.com/phpstan/phpstan-src/pull/926)), thanks [@​staabm](https://togithub.com/staabm)! - More precise `count_chars()` mode-param ([#​927](https://togithub.com/phpstan/phpstan-src/pull/927)), thanks [@​staabm](https://togithub.com/staabm)! - More precise `getdate()` return type ([#​928](https://togithub.com/phpstan/phpstan-src/pull/928)), thanks [@​staabm](https://togithub.com/staabm)! ### [`v1.4.0`](https://togithub.com/phpstan/phpstan/releases/1.4.0) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.3.3...1.4.0) **This release fixes 25 issues! πŸŽ‰** # Major new features πŸš€ - Support for PHP 8.1 `readonly` properties ([RFC](https://wiki.php.net/rfc/readonly_properties_v2)) - Readonly properties must be assigned in the constructor of the declaring class - Memoized type of a readonly property is not invalidated even when calling a method with side effects - Readonly properties cannot be passed by reference - Improved detection of incorrect types assigned to properties: - [#​5804](https://togithub.com/phpstan/phpstan/issues/5804), [#​6333](https://togithub.com/phpstan/phpstan/issues/6333), [#​4906](https://togithub.com/phpstan/phpstan/issues/4906), [#​4165](https://togithub.com/phpstan/phpstan/issues/4165), [#​3703](https://

Configuration

πŸ“… Schedule: 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.

πŸ”• Ignore: Close this PR and you won't be reminded about this update again.



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