packagist vimeo/psalm 7.3.0

one hour ago

What's Changed

Features

Fixes

  • [7.x] Keep statements of inlined constructor callees: ~15% less wall time and CPU on Laravel (arrayCache=false) by @jarstelfox in #13495
  • Fix: crash when a class is named only in a template's bound by @alies-dev in #13503
  • ✨ Fix param-conditional return taking both branches for $this/static param types by @alies-dev in #13494
  • Fix: crash of multi-threaded runs without posix by @alies-dev in #13517
  • Fix: NoInterfaceProperties on a hooked interface property of an intersection type by @alies-dev in #13452
  • Fix: whitespace around | in docblock types drops union members or invalidates @method by @alies-dev in #13457
  • Fix Psalter ignoring the type of static property fetches by @alies-dev in #13529
  • Fix: hooked interface properties on intersections with a generic interface or a class by @alies-dev in #13530
  • Fix crash when scope summaries contain non-UTF-8 strings by @MohannadElemary in #13518
  • Fix: class property checks lost on intersections with a hooked interface by @alies-dev in #13532
  • Fix: Psalter rewrites self/static/parent in static property references when renaming a class by @alies-dev in #13533

Internal changes

  • Perf: Avoid quadratic copying when closing dependent classlikes in Populator (~2.5% faster on a big app) by @alies-dev in #13508
  • chore(baseline): drop the ImplicitToStringCast entry that #11798 made unused by @jirkace in #13507
  • Fix PHPUnit plugin diagnostics in self-analysis by @orklah in #13524
  • Perf: Skip building code use edges that are not recorded when consolidating analysed data (~2% faster on a big app) by @alies-dev in #13509

Other changes

Full Changelog: 7.2.1...7.3.0

Don't miss a new psalm release

NewReleases is sending notifications on new releases.