Releases
2.1.47
Compare
Sorry, something went wrong.
No results found
Major new features π
bisect command (#5431 ), #14443
Find the first PHPStan commit that introduced a regression
This command performs a binary search over PHPStan releases, similar to git bisect
Learn more Β»
Improvements π§
Bugfixes π
Fix: !in_array with enum values incorrectly narrows to NEVER (#5365 ), #14407 , #13421 , #8864 , thanks @VincentLanglet and @staabm !
Fix: PHPStan assumes string conversions cannot throw exceptions (#5391 ), #13806 , thanks @VincentLanglet and @staabm !
Fix ObjectType::equals (#5399 ), #3028 , #14429 , #5298 , thanks @VincentLanglet !
Fix: Two unbounded generics in conditional return are assumed to be always the same (#5336 ), #11430 , thanks @VincentLanglet and @staabm !
Fix: \settype() is not handled properly (#5404 ), #3250 , thanks @VincentLanglet and @staabm !
Fix: Call to function is_callable() with array{...} will always evaluate to true (#5409 ), #12063 , #4608 , thanks @VincentLanglet and @staabm !
Fix: Allow throwing exceptions from __toString() not detected since level 4 (#5405 ), #5952 , thanks @VincentLanglet and @staabm !
Fix: Adding elements to empty array in while loop does not result in array being recognized as potentially non-empty for in_array (#5419 ), #13705 , thanks @VincentLanglet and @staabm !
Fix: Ordering of Intersections matters for method calls, first matching wins (#5408 ), #11978 , thanks @VincentLanglet and @staabm !
Fix: Nullsafe operator chaining (#5407 ), #11073 , thanks @VincentLanglet and @staabm !
exit function is not internal, change isInternal method to return 'No' (#5420 ), thanks @spaze !
Fix infinite recursion in ConstantArrayType::isCallable() via RecursionGuard (#5423 ), thanks @MizouziE !
Fix infinite loop (#5426 ), #14439 , #4957 , thanks @staabm and @VincentLanglet !
Preload polyfills in the PHAR (#5436 ), #14432
Update BetterReflection to 6.70.0 (phpstan/phpstan-src#5429 )
Support for covariant templates in interface properties in 8.4 (#5415 ), #12964 , thanks @VincentLanglet and @staabm !
Fix incorrect type-narrowing when using strict rules (#5435 ), #14446 , thanks @VincentLanglet and @staabm !
Do not report generic covariant issue without strict check (#5437 ), thanks @VincentLanglet !
Fix: Conditional argument type not properly narrowing type (#5386 ), #10055 , #13591 , #12597 , #10422 , #6663 , #4090 , #11218 , thanks @VincentLanglet and @staabm !
Performance ποΈ
Internals π
TypeCombinator: Remove always true condition (#5383 ), thanks @staabm !
Prevent duplicate argument re-normalizing (#5393 ), thanks @staabm !
Add authors section in composer.json (#5389 ), thanks @VincentLanglet !
Added regression test (#5425 ), #8835 , thanks @staabm !
Upgrade Dead Code Detector to 1.0.0 (#5430 ), thanks @janedbal !
Add non regression test (#5442 ), thanks @VincentLanglet !
Fix non regression test (#5444 ), thanks @VincentLanglet !
Remove wrong specification (#5445 ), thanks @VincentLanglet !
bisect: advertise gzip,deflate encoding when supported (#5434 ), thanks @staabm !
You canβt perform that action at this time.