Skip to content

Releases: bmewburn/vscode-intelephense

1.13.0

16 Dec 23:44
Compare
Choose a tag to compare
1.13.0 Pre-release
Pre-release

[1.13.0 - 2024-12-17] Pre-release

Added

  • PHP 8.4 class member access on instantiation without parentheses.
  • PHP 8.4 property hooks.
  • PHP 8.4 asymmetric visibility.
  • PHP 8.4 deprecated diagnostic for implict nullable parameters.
  • Support @mixin template types. This improves type inference when using Laravel 11.
  • intelephense.diagnostics.memberAccess setting that controls whether to show diagnostics relating to member access. Defaults to true.

Changed

  • Default PHP version now 8.4.
  • Updated stubs.
  • Parent and Overrides code lens no longer shown above methods that have no parent or overrides to reduce clutter.

Fixed

  • Crash when parsing phpdoc with conditional type containing newlines.
  • Traversable not treated as covariant to iterable.
  • Incorrect types for some $_SERVER elements.
  • Enums not recognised as implementations of interfaces.
  • Incorrect parse error for empty heredoc.
  • Type not narrowed when using nullsafe operator.
  • Template types not resolved for __invoke.
  • Go to type definition not working for foreach value.
  • Incorrect formatting of comments above default in match expression.
  • False method signature diagnostics when using older versions of PHP.
  • Variable type incorrectly inferred as never inside while loops with logical conditional expression.
  • False readonly property error when initialising trait declared property in exhibiting class.
  • Bad range formatting when selecting part of a multiline call chain.
  • Template types not resolved when passing Iterator to iterable constraint.

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