Skip to content

2.1.40

Choose a tag to compare

@phpstan-bot phpstan-bot released this 23 Feb 15:06
· 571 commits to 2.2.x since this release
9b2c7ae

This release fixes 71 issues! 🎉

It's only been 12 days since the last release, but both @staabm and @VincentLanglet have been hard at work. For the first time ever, PHPStan has more people with merge rights aside from @ondrejmirtes, and the increase in productivity is awesome!

Improvements 🔧

  • Introduce rawMessages key in ignoreErrors (#4929), thanks @VincentLanglet!
  • Infer non-empty-ness after count($a) == count($b) (#4470), thanks @staabm!
  • Report class.nameCase error when the wrong case is just in return type (#4890), #11470
  • Allow ternary type narrowing in assert and truthy contexts (#4915), #14100
  • Add ClassConstantReflection::isFinalByKeyword() method (#5022), #14171, thanks @samsonasik!

Bugfixes 🐛

Performance 🏎️

  • Faster NetteContainer (#4921), thanks @staabm!
  • MutatingScope: prevent unnecessary work in removeTypeFromExpression() (#4922), thanks @staabm!
  • Don't invalidate container cache on user-interactions in the shell (#4924), thanks @staabm!
  • Prevent duplicate path normalization (#4931), thanks @staabm!
  • DependencyResolver: Reduce duplicate work (#4923), thanks @staabm!
  • speed up TrinaryLogic (#4833), thanks @kaja47!
  • ClassNameCheck: Retrieve extensions just once (#4926, #5027), thanks @staabm!
  • IsSuperTypeOfResult: cache YES/NO/MAYBE (#5011), thanks @staabm!
  • Faster IntersectionTypeMethodReflection->getVariants() (#5012), thanks @staabm!
  • ArgumentsNormalizer: remove duplicated work (#5010), thanks @staabm!
  • Faster AcceptsResult, IsSuperTypeOfResult (#5013), thanks @staabm!
  • TypeSpecifier: Prevent duplicate expression printing (#5018), thanks @staabm!
  • Faster Ternary analysis (#5015), thanks @staabm!

Function signature fixes 🤖

Internals 🔍