Releases
2.1.52
Compare
Sorry, something went wrong.
No results found
This release fixes 45 issues! π
Improvements π§
Emit virtual Assign node for List_ destructuring in foreach value position (#5504 ), #8075
Narrow array key type after type-checking the key variable inside a foreach loop (#5505 ), #7076
Support for static::SOME_CONST in PHPDoc (#5510 ), #13828 , thanks @VincentLanglet !
Allow GMP in increment/decrement operations (#5530 ), thanks @Firehed !
Bugfixes π
Various array fixes (#5523 ), #7893 , #2294 , #14448 , #11146 , #11533 , #13699 , #13623 , #13304 , #12653 , #3795 , #14336 , #11820 , #13000 , #13643 , #13272 , #13663 , #10349 , #8648
Preserve constant array when assigning a union of scalars
Preserve tracked nested ArrayDimFetch types through chained assignments
More precise analysis for foreach iterating over constant array
Resolve ConditionalTypeForParameter children before converting to ConditionalType to prevent infinite traversal (#5507 ), #13872
Merge scope after ?-> method call to account for argument short-circuiting (#5456 ), #10729 , thanks @VincentLanglet and @staabm !
Track PHPDoc and modifier flags on ExportedParameterNode for result cache invalidation (#5518 ), #14520
Autoloading should not be invoked for any string (#5519 ), #14514 , #14511 , thanks @staabm !
More precise tracking $value in foreach (#5526 )
Correctly mark all unpacked constant array items as optional in array_merge/array_replace (#5525 ), #14526
Fix: False positive: Conditional return type takes the wrong branch (#5362 ), #11565 , thanks @VincentLanglet and @staabm !
Fix: Allow readonly property init in child classes on PHP 8.4+ (#5513 ), #12871 , thanks @predictor2718 !
Project narrowings through stored booleans for more expression kinds (#5528 ), #9455 , #5207
Track array_walk by-ref closure parameter modifications on array type (#5527 ), #14525
Merge conditional-expression holders for the same target (#5529 ), #12677
Project stored-boolean narrowings through || truthy, Track destructure relationships across tagged-union foreach (#5531 ), #9519
Fix: Template of imported type breaks imported type (#5360 ), #11314 , #7152 , #13332 , thanks @VincentLanglet and @staabm !
Track $arr[$key] existence across array_key_first/last + !== null (#5537 )
Preserve TemplateArrayType across offset writes and traversal (#5553 ), #10749
Two-stage collapse for oversized constant arrays (#5555 ), #8636
Fix callable array intersection type offset narrowing (#5548 ), #3842 , thanks @VincentLanglet and @staabm !
Performance ποΈ
Function signature fixes π€
Internals π
You canβt perform that action at this time.