Improvements 🔧
- More precise return type for trigger_error (#2526), thanks @paulbalandan!
Bugfixes 🐛
- Fix filtering default stub files on Windows (#2406), thanks @maryo!
- FileHelper absolutize and normalize: Fix path with scheme (#2506), thanks @mvorisek!
- Fix
array_keys()
and `array_values()`` on constant arrays (#2516), thanks @jlherren! - Fix access to uninitialized property via extension in additional constructor (phpstan/phpstan-src@218aad0), #9619
- Fix result cache bug with imported type aliases (phpstan/phpstan-src@553c4b1), #9622
- Fix result cache bug with imported type aliases in a trait (phpstan/phpstan-src@d8071d0)
- Fix PHP 8.3 deprecation (
$foo--
with a non-numeric string no longer allowed) (phpstan/phpstan-src@c6f4c4c) - Array shape with optional keys might be a list (phpstan/phpstan-src@97f0039)
- ArrayMapFunctionReturnTypeExtension - preserve array being a list (phpstan/phpstan-src@d55c4f2)
Function signature fixes 🤖
- More precise
ftp_*
mode parameter type (#2513), thanks @staabm! - Fix signature of
DOMNode::lookupNamespaceURI
(#2527), thanks @paulbalandan!
Internals 🔍
- Simplify access to class reflections in InClassNode rules (#2514), thanks @mad-briller!
- Simplify access to class reflections in ClassPropertiesNode (#2520), thanks @mad-briller!
- Simplify access to function reflection in FunctionReturnStatementsNode rules (#2522), thanks @mad-briller!
- Set class and method reflection in the MethodReturnStatementNode (#2515), thanks @mad-briller!
- Simplify access to class reflections in ClassConstantsNode and ClassMethodsNode rules (#2521), thanks @mad-briller!
- Introduce InTraitNode (phpstan/phpstan-src@657fc54)
- TrinaryLogic for
isList
in ConstantArrayType (phpstan/phpstan-src@158c61c, phpstan/phpstan-src@f0a9fd7) - Add polyfill for PHP 8.1 (phpstan/phpstan-src@a8818be, phpstan/phpstan-src@cda7e69)