Psalm v3.4.6 Release Notes
Release Date: 2019-06-27 // almost 5 years ago-
π Features
- π makes Psalm 20% faster by reducing object cloning
- β added a SonarQube report type - thanks @lewinski! (#1808)
- π trailing commas are now supported in object-like array docblocks (#1802)
- add documentation for the assertion syntax (#1810)
- Language server: improve autocompletion of methods and properties - thanks @iluuu1994 (#1831, #1834)
- Language server: improve legibility of on-hover definitions - thanks @iluuu1994 (#1833)
- Language server: add jump-to-definition of docblock types (#1832)
- Language server: jump between parentheses having autocompleted method name - thanks @iluuu1994 (#1839)
- warn when running Psalm with
pcre.jit=1
on Macs with PHP 7.3
π Bugfixes
- π improve treatment of
if (class_exists(Foo::class)) {...}
when the class doesnβt exist in Psalm's world (#1801) - π complain about
DeprecatedClass
when using a deprecated class's constants (#1803, #1814) - π¨ psalm-refactor : ensure directory exists before moving file (#1802)
- π fix expected argument count message when too-few params are provided (#1811)
object&Foo
is converted toFoo
when resolving templates (#1813)- the effect of
array_filter($arr, 'is_numeric')
(and relatedis_...
functions) is now interpreted correctly (#1816) - π allow comparison to
static
withinstanceof static
(#1458) - π handle intersection when expanding template (#1818)
- π improve behaviour of
callable
reconciliation (#1825) - donβt allow object-like array to be unioned with
mixed
(#1826) - resolve docblock
self
references in the scanning phase (unless inside traits) (#1827) - Language Server always show references to method, even if arguments are incomplete (#1835)
- prevent invalid templated returns - thanks (#1842, #1845)
- π allow static class strings to be compared (#1848)
- π improve messaging about invalid types with hyphens in (#1852)
- π allow
MethodParamsProvider
to accept an empty array - thanks @Daeroni (#1854)