github phpstan/phpstan 2.1.49

9 hours ago

Bugfixes šŸ›

Performance šŸŽļø

  • Use pairwise TypeCombinator::intersect folding for conditional expression holders to avoid exponential union distribution (#5482), #14475
  • Fix more cases (#5482), #14475
  • More pair-wise intersect (#5482), #14475
  • Avoid 2^N getAllArrays() expansion in implode() return type extension (#5482), #14475
  • Avoid 2^N getAllArrays() expansion in ConstantArrayType::getFiniteTypes() (#5482), #14475
  • Bail early in TypeUtils::flattenTypes() to avoid 2^N getAllArrays() expansion (#5482), #14475
  • Batch unionWith in specifyTypesForFlattenedBooleanOr falsey path to avoid O(N²) (phpstan/phpstan-src@7eab3d2)
  • Add flattening optimization for deep BooleanAnd chains in truthy context (phpstan/phpstan-src@3f5f2de)
  • Use hash map for O(1) key lookup in ConstantArrayType (phpstan/phpstan-src@8019f65)
  • Fix infinite hang when analysing src/wp-includes/user.php in wordpress-develop (#5485)

Function signature fixes šŸ¤–

  • Update session_set_save_handler $gc parameter (#5474), thanks @sreichel!

Internals šŸ”

Don't miss a new phpstan release

NewReleases is sending notifications on new releases.