Skip to content

Releases: bmewburn/vscode-intelephense

1.12.6

09 Sep 03:20
Compare
Choose a tag to compare

[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 using or 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

29 Aug 03:04
Compare
Choose a tag to compare

[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, and null 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

19 Aug 00:36
Compare
Choose a tag to compare

[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

13 Aug 06:26
Compare
Choose a tag to compare

[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 type unset in catch clause.

1.12.2

08 Aug 09:37
Compare
Choose a tag to compare

[1.12.2 - 2024-08-08]

Fixed

  • Added missing code lens middleware
  • TypeError: Cannot read properties of undefined (reading 'scopeTypeDefinition')

1.12.1

08 Aug 06:49
Compare
Choose a tag to compare

Fixed

  • Add missing code lens settings.

1.12.0

08 Aug 06:17
Compare
Choose a tag to compare

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 to true 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

01 Aug 01:59
Compare
Choose a tag to compare
1.11.8 Pre-Release Pre-release
Pre-release

Fixed

  • Lost variable types after xor expr;

1.11.7 Pre-release

30 Jul 08:42
Compare
Choose a tag to compare
1.11.7 Pre-release Pre-release
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

29 Jul 01:54
Compare
Choose a tag to compare
1.11.6 Pre-Release Pre-release
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 permit int 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.