Skip to content

v0.99.77

Choose a tag to compare

@lkrms lkrms released this 04 Mar 10:23
· 130 commits to main since this release
v0.99.77
3ab8b11

Added

Utility

  • Add Reflect::getAllTraits(), with optional recursion into parents
  • Add Reflect::isMethodInClass()

Changed

PHPStan

  • Ignore static properties and properties ImmutableTrait methods cannot access in ImmutableTraitReadWritePropertiesExtension
  • Improve array argument unpacking in ArrExtendReturnTypeExtension, GetCoalesceReturnTypeExtension and StrCoalesceReturnTypeExtension

Utility

  • Optionally recurse into traits in Reflect::getTraitMethod()

Fixed

PHPStan

  • In ImmutableTraitRule:
    • Fix issue where inaccessible properties may not be reported
    • Fix issue where calls to ImmutableTrait methods are not detected when they override inherited methods or when ImmutableTrait is inserted by another trait
  • Fix ArrWhereNotNullReturnTypeExtension and ArrWhereNotEmptyReturnTypeExtension issues where:
    • iterable types may be returned
    • invalid key types may be returned
    • variadic arguments are not unpacked
  • Fix GetCoalesceRule issue where calls to Get::coalesce() are matched case-sensitively

Testing

  • Fix issue where MockTarget::write() may fail to write long messages to the (optional) underlying stream