Improvements 🔧
- Infer private properties in constructor, even if typehinted (#374), thanks @Baldinof!
- Updated nikic/php-parser (https://github.com/phpstan/phpstan-src/commit/030b4f53f2faa05434fc9847c07a3e5555a80393)
- Optimize range() dynamic return type extension for big arrays (https://github.com/phpstan/phpstan-src/commit/af5ba63fcf3699424c06b813be8369b447dc924f), #4207
- Obsolete Docker image note (https://github.com/phpstan/phpstan-src/commit/80d8afb45020cae3f0f825a9e2bc37d0810f776e)
Bugfixes 🐛
- Delete result cache file when it fails to load (https://github.com/phpstan/phpstan-src/commit/c22e62052c0ceb9ab0b29213d94b7ca26a601f0f), #4200
- Match expression - fix default handling (https://github.com/phpstan/phpstan-src/commit/1dfade1440a36395b775a6bb21ee3b67ac19ca02), #4204
- TypeSpecifier - resolve values from fetched constants (https://github.com/phpstan/phpstan-src/commit/761c9623a2e24e5957aa8c8e8d0ac707d59bc128), #4206
- Fix bug when specifying empty array (https://github.com/phpstan/phpstan-src/commit/a73b48f41103c2a47dab03927bee5302285c0f2e)
Function signature fixes 🤖
- Fix Normalizer's normalize method can return false (#403), thanks @TRowbotham!
- Fix wrong function signature of get_include_path() (#404), thanks @ste93cry!
- functionMap: getmypid() / getmyuid() may return false (#406), thanks @dktapps!
- functionMap: unpack() may return false (#405), thanks @dktapps!
- Handle encoding for mb_str_split returnTypeExtension (#396), https://github.com/phpstan/phpstan/issues/4183, thanks @VincentLanglet!
- SimpleXMLElement methods return
static
(#407), #4222, thanks @voku!