Releases: bmewburn/vscode-intelephense
Releases · bmewburn/vscode-intelephense
1.12.6
[1.12.6 - 2024-09-09]
Fixed
- Template types incorrect when implementing
Iterator
. Traverable
template types lost.assert
not working when fully qualified.- False
unset
variables after logical expression when usingor
operator. - No completion suggestions for variables declared in array destructure.
- Don't reduce function return types to minimal type as eagerly.
- False unused symbol diagnostic for promoted property with no visibility modifier.
1.12.5
[1.12.5 - 2024-08-29]
Fixed
- Performance issue with large arrays. Array shapes are now only generated internally on arrays with 20 or less elements.
- Go to type definition not working when origin is an assignment expression.
- Type lost when built in constants
true
,false
, andnull
are prefixed with backslash. static
as a template type argument resolving to wrong type.- False method signature compatibility errors for built-in PHP symbols when targeting PHP versions < 8.1.
- Incorrect and cut-off completion suggestions when triggered by
use
inside a top level anonymous function. - Don't eagerly reduce unions when substituting templated types.
- False return type error diagnostics when calling templated parent methods.
1.12.4
[1.12.4 - 2024-08-19]
Fixed
- Parameter type showing
unset
for anonymous functions declared within an unpacked array. - Callable signatures with
static
typed parameter losing template type args. - Parameter type showing
unset
for anonymous functions declared within an anonymous class header. - Licence key not syncing across machines in VSCode.
1.12.3
[1.12.3 - 2024-08-13]
Fixed
- Hover, go to definition not working on phpdoc
@see
FQSEN. - Callable signatures with
static
typed parameter resolving to incorrect type. - Type inference within
for
statements with no control expression. - Should not do additional type checks on variables that have
unset
type. - Variables with type
null
not taking on by ref parameter type when passed as argument. - Anonymous function parameters showing as undefined when function declared inside array.
- Variables assigned to in
try
block have typeunset
incatch
clause.
1.12.2
1.12.1
1.12.0
See 1.11.x Pre-Release
Added
- Code lens for references, abstract/interface implementations, trait usages, method overrides, method parent. Code lenses are disabled by default and can be enabled by setting the
intelephense.codeLens.references.enable
,intelephense.codeLens.implementations.enable
,intelephense.codeLens.usages.enable
,intelephense.codeLens.overrides.enable
,intelephense.codeLens.parent.enable
settings totrue
respectively. Premium - Find all references for
__construct
. - Object shape property hover.
Changed
- Built in array function stubs now have templated definitions.
- Improved DOMNodeList::getIterator stub
Fixed
- Comparing class-string in conditional return yielding incorrect type when subject is subtype of test type.
- No type inference and false undefined property when accessing property of intersection type with object shape component.
@internal
annotation missing description in hover.
1.11.8 Pre-Release
Fixed
- Lost variable types after
xor
expr;
1.11.7 Pre-release
Changed
- Reducing to minimal union types is now less eager.
Fixed
- False undefined class constant in unreachable code.
- Cannot read properties of undefined (reading 'length') intelephense.js:2:2322561
1.11.6 Pre-Release
Added
- Handle phpstan call site variance syntax.
Changed
- Template types and metadata return types will no longer resolve to an argument type of
never
in order to prevent code being unintentionally marked unreachable following function/method calls. - Undefined property diagnostic now suppressed in
isset
,empty
,unset
, LHS of null coalesce to match PHP behaviour. - Type check of LHS of property access expression suppressed in
isset
,empty
,unset
, LHS of null coalesce to match PHP behaviour.
Fixed
float
parameter should permitint
as argument.- Type inference with
null
equality comparison. - Undefined variables not diagnosed inside closure.
- False undefined method diagnostics with templated parameters.
- Auto import function adding unnecessary
function
keyword when in group use list. - Variable type becoming mixed when passed by ref in closure use clause.
- Circular reference problem when trait has
@mixin
of the same class that exhibits it. - False argument count error when trait provides implementation for an interface and gives params default args.
- Unable to override variable type with
@var
if RHS of assignment contains closure.