Psalm v3.17.0 Release Notes

Release Date: 2020-10-12 // over 3 years ago
  • ๐Ÿ”‹ Features

    • ๐Ÿ”ง @mr-feek added support for configurable universal objects (#3948)
    • ๐Ÿ‘Œ Improved error messages and reporting for ParadoxicalCondition (example) โ€“ thanks to @dkarlovi, @jbafford and @ro0NL for their input

    ๐Ÿ›  Bugfixes

    ๐Ÿ›  Fixed XML generation

    ๐Ÿ›  3.16 broke XML output, this is now fixed (#4252).

    ๐Ÿ›  Other bugfixes

    • ๐Ÿ‘ @DanielBadura added a stub for random_int, providing better inference (#4199)
    • Improved signatures for preg_match_all (#4202) and @orklah helped improve preg_split
    • Treat func_num_args as pure (#4215)
    • ๐Ÿ›  Fix __invoke declaration crash (#4210)
    • ๐Ÿ‘ Allow hinting arrow function return types (#4209)
    • โž• Add checks for if ((bool) $foo) (#4206)
    • ๐Ÿ›  Fix crash with some class-string property assignments (#4198)
    • ๐Ÿ›  @aheart fixed bugs with JUnit generation (#4234)
    • @danog added a bunch of stubs for Spl* classes (#4255)
    • ๐Ÿ›  allowMissingFiles was fixed by @ddeboer (#4259)
    • prevent crash after analysing file that defines a class twice (#4264)
    • prevent an infinite loop when analysing a closure unioned with invokable class (#4266)
    • @marcosh added more stubs for array functions (#4271)
    • prevent crash when annotating the intersection of arrays (#4287)
    • ๐Ÿ›  Fix reported property id for multiple MissingConstructor issues on a single class (#4297)
    • Prevent crash when trying to negate a positive-numeric assertion (#4306)
    • ๐Ÿ›  Fix return types for a few callmap-provided functions (#4309)
    • Prevent a class name validation check on a string argument to a class-string|Foo union (#4310)

    ๐Ÿ‘• Also thanks to @orklah for many linting PRs, and to @weirdan for very good triaging