Improvements 🔧
- Configurable result cache path (phpstan/phpstan-src@518b20d), #3755
- StubValidator - analyse only project stub files (phpstan/phpstan-src@f956c6d)
- Update phpstorm-stubs (phpstan/phpstan-src@fb95fab)
- ResultCacheManager - remove
parametersSchema
before comparing config files (phpstan/phpstan-src@2a87b3a)
Bleeding edge 🔪
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.
Bugfixes 🐛
- Concat between numeric and empty string produces numeric string (#378), thanks @jlherren!
- Fix array dim fetches with
treatPhpDocTypesAsCertain: false
(phpstan/phpstan-src@a9ec174), #4099 - Fixed expression assignment throwing away native expression types for
treatPhpDocTypesAsCertain: false
(phpstan/phpstan-src@64da8f9), #3760 - Result cache - fix result cache save and restore with Neon with statements (phpstan/phpstan-src@602c718), #4125
- Catch more BetterReflection errors (phpstan/phpstan-src@3e8ec5f), #4135
- Fixed SimpleXMLElement cast to boolean (phpstan/phpstan-src@83c1e0b), #3965, #2997
- hrtime(true) returns benevolent union type (phpstan/phpstan-src@2a39e5a), #3650
Function signature fixes 🤖
- Fix Reflection::getStaticProperties()'s return type (#377), thanks @jlherren!
mysqli_get_client_info()
argument is optional (phpstan/phpstan-src@b01c6c9), #4013- Fixed
RedisArray::__construct()
(phpstan/phpstan-src@3e95603), #3688 - Fix
DateTime
/DateTimeImmutable::getLastErrors()
return types (#380), thanks @b1rdex! - Use dynamic return type extension for
mb_str_split
(#379), thanks @VincentLanglet! XMLWriter::*Ns()
can accept null in$prefix
(#383), thanks @spaze!- Support for numeric string in bc math (#382), thanks @aszenz!
- Fix socket_select's signature https://www.php.net/manual/en/function.socket-select.php (#385), thanks @szepeviktor!
- Fix imageColorAllocate* and imageColorAt return type declarations https://www.php.net/manual/en/function.imagecolorallocate.php#refsect1-function.imagecolorallocate-returnvalues (#386), thanks @mundschenk-at!