intelephense 1.17.3-beta → 1.17.5-beta

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,48 @@
1
1
  # Change Log
2
2
 
3
+ ## [1.17.5 - 2026-04-08]
4
+
5
+ #### Added
6
+ - `throwDepth` setting to control maximum call depth when analysing `throw` expressions. Defaults to `0` (current call declaration body only). Max `10`. Higher values may impact performance.
7
+
8
+ #### Changed
9
+ - Methods declared with `@method` with no return type are given return type of `void` instead of `mixed`.
10
+ - `@param` type is now optional.
11
+ - Tweaked suggestion order.
12
+
13
+ #### Fixed
14
+ - False no type information available diagnostic when property/parameter inherits documented type.
15
+ - False method compatibility error when a trait method and interface method return `self`.
16
+ - `bool` subject type not expanded to `true|false` when comparing to `true` in conditional type.
17
+ - No import quickfix for undefined PHPDoc types.
18
+ - Incorrect method description shown in hover when multiple methods of same name are declared using `@method`.
19
+ - Array access type inferred as `mixed` when subject is a template type with array shape constraint.
20
+ - False undefined phpdoc type in constant unions.
21
+
22
+ ## [1.17.4 - 2026-03-23]
23
+
24
+ #### Added
25
+ - More diagnostics.
26
+ - Setting `intelephense.diagnostics.suspectCode` to control whether suspected problems in the code should be reported. Diagnostics grouped under this setting include duplicate array keys, duplicate switch/match cases, loop variable overwriting, `void` assignment, assignments in control expressions.
27
+ - Find all references and rename now works for variable references listed in `compact` arguments.
28
+ - Setting to control if method override/implementation suggestions should include a placeholder method body -- `intelephense.completion.withMethodBody`. Defaults to `true`.
29
+ - Partial support for custom assertions. `@assert`, `@psalm-assert`, `@phpstan-assert` and `*-if-false` and `*-if-true` variants supported. Only type assertion of simple variable arguments is currently supported. For example `@assert string $param` and passing `$var` as the argument. Multiple assertions targeting the same parameter are not supported, ie, adding both an `*-if-true` AND `*-if-false` annotation.
30
+
31
+ #### Changed
32
+ - Method override/implementation suggestions now include `#[Override]` attribute when PHP target version is 8.3+. To disable adding this attribute set `intelephense.completion.withOverrideAttribute` to `false`.
33
+ - Improved how unused variable reporting works when `compact` is encountered.
34
+ - Improved type inference of array elements when key is a simple variable.
35
+ - Improved template type resolution for templates that appear in constraints of other templates.
36
+ - Find all implementations now works for all methods, previously it was restricted to abstract or interface declared methods.
37
+ - Find all declarations will now get the root declaration(s) in a type hierarchy regardless of whether it is an interface or abstract declaration.
38
+ - Crash telemetry now defaults to disabled.
39
+
40
+ #### Fixed
41
+ - False method compatibility error with abstract trait method and base class with final method implementation.
42
+ - Highlight not working when origin is variadic parameter in PHPDoc.
43
+ - Added back auto prefix `$` to variable renames if applicable.
44
+ - Reference/rename not working for variables in anonymous class declaration argument list.
45
+
3
46
  ## [1.17.3 - 2026-03-04]
4
47
 
5
48
  #### Added