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 declaredfinal
, ornew static
where the constructor is not declaredfinal
(#3934).๐ For more information, see the issue page
Other features
๐ 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)
- ๐ fix a few false-positives around