1.10.51
Bleeding edge 馃敧
- ParamAttributesRule - promoted property attribute needs to target both parameters and properties (phpstan/phpstan-src@25d1552), #10298
- More precise
RecursiveIteratorIterator::__construct()
parameter types (#2835), thanks @staabm! - PhpDocParser: add config for lines in its AST & enable ignoring errors within PHPDocs (#2807), thanks @janedbal!
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. Learn more
Improvements 馃敡
- Missing ThrowExprTypeRule - level 3 (phpstan/phpstan-src@0359ebc)
- Analyse stubs only when not only files are analysed (phpstan/phpstan-src@4020240)
- Nicer error message in case of memory limit exhaustion in child process (phpstan/phpstan-src@816be99)
Bugfixes 馃悰
- Narrow
ReflectionEnum::getBackingType()
afterReflectionEnum::isBacked()
(#2830), #10167, thanks @staabm! - Fix coalescing on an optional array offset (#2834), #10317, thanks @rvanvelzen!
- More precise
??
type inference (phpstan/phpstan-src@d801919), #10327
Internals 馃攳
- phpstan-src is now downgraded for PHP 7.2+ with
ondrejmirtes/simple-downgrader
- Forward-compatible changes with PHP-Parser 5 (phpstan/phpstan-src@436bd79, phpstan/phpstan-src@7eb66f6, phpstan/phpstan-src@bf0b138), #5086
- Use
str_starts_with()
andstr_contains()
instead ofstrpos()
(#2841), thanks @zonuexe! - Building preload script - sort by name for reproducible builds (phpstan/phpstan-src@995de26)
- Lazier creation of ParameterAcceptor (#2843), thanks @staabm!
- Use const instead of properties (#2815), thanks @zonuexe!
- PhpDocValueRule: cheapest check first (#2824), thanks @staabm!
- Faster
ParametersAcceptorSelector::combine()
(#2851), thanks @staabm!