github vimeo/psalm 7.0.4

2 hours ago

What's Changed

Fixes

  • fix(baseline): merge duplicated files and issue types when reading a baseline by @jirkace in #13098
  • fix(visibility): drop the empty context from the inaccessible method message by @jirkace in #13094
  • fix(psalter): replace the whole union return type by @jirkace in #13116
  • fix(arithmetic): don't fold a shift by a negative number or zero to a negative power by @jirkace in #13103
  • fix(int-range): an int range without bounds is int by @jirkace in #13091
  • fix(types): a negated instanceof narrows the bound of a template param by @jirkace in #12906
  • fix(types): keep named objects and other shapes next to an object with properties by @jirkace in #13101
  • Perf: skip recording code use edges that nothing reads (2–32% less memory when unused code detection is off) by @alies-dev in #13250
  • Evaluate the keys of array items passed by reference once by @alies-dev in #13297
  • Fix: constants defined in Psalm's process turn into mixed on warm runs by @alies-dev in #13302
  • fix(int-range): a negative int to the power of 0 is 1 by @jirkace in #13186
  • fix(stubs): SplDoublyLinkedList::offsetSet accepts null to append by @jirkace in #13207
  • fix(parser): as, of and is are keys of a shape where a colon follows by @jirkace in #13075
  • fix(types): $_COOKIE can have int keys by @jirkace in #12868
  • fix(config): count referencedFunction issue handler suppressions by @jirkace in #12854
  • fix(scanner): an and/or condition of unknown parts defines both branches by @jirkace in #12814
  • Keep the type of the elements array_splice() returns by @jirkace in #12615
  • fix(param-out): do not check the @param-out of a method without a body by @jirkace in #12681
  • Ask whether the package of an unknown plugin class is installed by @danog in #13326

Internal changes

  • Perf: speed up warm runs and the consolidated cache with one file per cache entry by @alies-dev in #13249

Full Changelog: 7.0.3...7.0.4

Don't miss a new psalm release

NewReleases is sending notifications on new releases.