Improvements 🔧
- StubValidator - add missing rules about type aliases (phpstan/phpstan-src@8bb4537)
Bugfixes 🐛
- Fix more
in_array
issues (#2432), #6959, thanks @schlndh! - Fix overriding
__debugInfo
with covariant return type (#2435), #9391, thanks @staabm! - Improve
Map::remove()
@throws
inference (#2434), #9066, thanks @baci266! array_is_list
narrows the type even when not on Bleeding Edge (phpstan/phpstan-src@de2566a), #9381- AutoloadSourceLocator - do not execute autoloader if the class already exists but is evaled (phpstan/phpstan-src@32b889d), #7960
- EnumSanityRule - use scope inside enum (phpstan/phpstan-src@04af510), #9402
- Fix native type of array after
array_push()
(phpstan/phpstan-src@564f79f), #9403 - Refactor pieces looking for dead code for more precise detection of properties, methods, constants (phpstan/phpstan-src@d09401d, phpstan/phpstan-src@ffc0495), #8412, #8958, #8563, thanks @takaram!
- Fix param-type specification interfering with root-expression types (#2439), #9404, thanks @staabm!
Function signature fixes 🤖
- More precise
getimagesize*
return type (#2438), thanks @staabm! - base64_decode returns false only in strict mode (#2419), thanks @kamil-tekiela!
Internals 🔍
- Minor refinements to MutatingScope
empty()
and typehint helper (#2430), thanks @mad-briller!