Skip to content

2.1.41

Choose a tag to compare

@phpstan-bot phpstan-bot released this 16 Mar 18:27
· 1485 commits to 2.2.x since this release
a2eae8f

Just three weeks after PHPStan 2.1.40, this release fixes whopping 87 issues! 🎉

Major new features 🚀

Improvements 🔧

Bugfixes 🐛

Function signature fixes 🤖

Performance 🏎️

  • Faster MutatingScope->getNodeKey() (#5014), thanks @staabm!
  • Faster IsSuperTypeOfResult creation (#5042), thanks @staabm!
  • Faster LazyInternalScopeFactory->create() (#5043), thanks @staabm!
  • Faster TrinaryLogic::maxMin(), TrinaryLogic::lazyMaxMin() (#5045), thanks @staabm!
  • Prevent TypeCombinator::intersect() calls in MutatingScope-> specifyExpressionType() (#5048), thanks @staabm!
  • Prevent unnecessary $scope->getType() calls (#5051), thanks @staabm!
  • Prevent unnecessary work in UnionType->describe() (#5062), thanks @staabm!
  • Fix slow analysis on return with large OR condition chains (#5076), #14207
  • Fix slow analysis on large AND condition chains (phpstan/phpstan-src@5b6cb3a), #14214
  • Prevent unnecessary work in IntersectionType (#5054), thanks @staabm!
  • AcceptsResult: cache Yes/No/Maybe (#5095), thanks @VincentLanglet!
  • TemplateTypeTrait: Prevent unnecessary work (#5122), thanks @staabm!
  • MutatingScope->createConditionalExpressions(): cheap checks first (#5126), thanks @staabm!
  • MemoizingContainer - memoize getServicesByTag (phpstan/phpstan-src@6a7d9e0)

Internals 🔍