Skip to content

Mostly bugfixes

Compare
Choose a tag to compare
@muglug muglug released this 14 Mar 19:57
· 6420 commits to master since this release

Features

  • @weirdan added support for PHP Version-dependent method stubs (#5337)

Bugfixes

  • Improving handling of nested template types in class strings (#5290)
  • Language Server Allow static methods to be autocompleted on instances (#5210, #5295)
  • Language Server Fix inferred type caching bug when editing neighbouring methods (#5297)
  • Fix JSON reports containing UTF-8 strings – thanks @danog (#5300)
  • Improve callmap for gd functions in PHP 8 – thanks @iluuu1994 (#5271)
  • improvements to mysql_init and PDOStatement::fetchAll return type – thanks @morozov (#5306, #5317)
  • WeakMap is now generic – thanks @weirdan (#5313)
  • Allow iterable coercion from a generic object (#5310)
  • Fix an issue with method memoisation (#5317)
  • Allow ReflectionParameter::getType() to return non-null if a ReflectionParameter::hasType() call returns true (#5258)
  • Undefined variables can now be tracked in arrow functions – thanks @weirdan (#5343)
  • ImplicitToStringCast is now emitted in more places – thanks @weirdan (#5344)
  • variable usage in bool to int casts are now tracked – thanks @weirdan (#5349)
  • explode return type is improved – thanks @weirdan (#5350)
  • ceil just returns a float, thanks @simPod (#5355)
  • improved return type for min and max – thanks @orklah
  • Psalm startup variables are now shielded from plugins that change global variables – thanks @weirdan! (#5366)
  • fixed integer overflow that could cause a Psalm crash – thanks @orklah (#5369)
  • @orklah fixed a bug where Psalm would not accurately type the output of array_map when given a callable (#5373)
  • prevented an edge-case where calling the constructor of a genericised class could poison Psalm's internal cache (b549989)