Psalm v3.14.0 Release Notes

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

    Named argument checks with ParamNameMismatch

    ๐Ÿ‘€ For more information, see this article.

    Preventing unsafe instantiation

    Psalm now warns you when calling new $foo() where $foo() is a class that can be extended and where the constructor is not declared final, or new static where the constructor is not declared final (#3934).

    ๐Ÿ‘€ For more information, see the issue page

    Other features

    • ๐Ÿ‘ @mr-feek added support for supplying memory limit with a --memory-limit flag (#3947)

    ๐Ÿ›  Bugfixes

    • ๐Ÿ›  fix a few false-positives around positive-int types (#3914)
    • expand scalar-class-constant types in a few more places (#3913, #3741)
    • @NicolasCARPi improved the signature for hash_file() (#3920)
    • honour arrays with class-string keys when appending literal classes (#3923)
    • @SignpostMarv marked bscale as impure (ref #3918)
    • preserve list-ness when assigning to a tuple inside a loop (#3928)
    • ๐Ÿ›  fix regression with array_shift (#3941)
    • ๐Ÿ›  @jarstelfox fixed the casing checker to ignore callStatic (#3939)
    • ๐Ÿ‘ @xyng added support for multiple mixins (#3772)
    • ๐Ÿ‘Œ improved Psalm's recovery when it encounters complex boolean logic (#3932, #3954)
    • @ygottschalk improved reset's return type
    • ๐Ÿ›  @sasezaki fixed the treatment of generators when an explicit send type is provided (#3966)
    • Language Server @ngyuki fixed file path handling on windows (#3984)
    • ๐Ÿ‘‰ Use unused code config settings when running language server (#3987)
    • Prevent an incorrect intersection of union types with usort (#3964)
    • Prevent crash with bad imported type reference (#3927)
    • @weirdan improved handling of @psalm-import-type errors (#3997)
    • comparisons between classes and interfaces are now allowed (#3917)