Improvements 🔧
- New option
excludePaths
that replacesexcludes_analyse
and allows for more granular settings - different exclusions for analysed paths and discovering symbols in 3rd party code (phpstan/phpstan-src@bf35a10) - #3749, #1796. Read more about it in this comment. - Clear cache directory - delete old containers (phpstan/phpstan-src@db0a5f6), #4328
Bugfixes 🐛
- Generics - do not generalize array shape (phpstan/phpstan-src@94e3443)
- Arrow functions - allow more precise return type even when native return type is present (phpstan/phpstan-src@3d0ac6f), #4275
array_filter
w/ arrow functions return type extension (#402), thanks @b1rdex!- Make IntegerRangeType represent open intervals properly (#409), #577, thanks @jlherren!
- Improve specified type in comparisons (#390), thanks @jlherren!
- Register missing SplObjectStorage stub (phpstan/phpstan-src@143741c)
- Solve issues with arrow functions containing void expression (phpstan/phpstan-src@7ac6383), #4292, #3348
- Fix
isset()
bug (phpstan/phpstan-src@3d6461c), #4290 - Fix infinite recursion with
count()
calls in TypeSpecifier (phpstan/phpstan-src@69e68a7), #4300
Function signature fixes 🤖
- Fix function signatures for
preg_replace_callback*
for PHP 7.4+ (#411), thanks @jabrandes! - Sync array_unique parameter names with PHP 8 (phpstan/phpstan-src@9e7bdf7)