intelephense 1.17.2-beta → 1.17.4-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,41 @@
1
1
  # Change Log
2
2
 
3
+ ## [1.17.4 - 2026-03-23]
4
+
5
+ #### Added
6
+ - More diagnostics.
7
+ - 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.
8
+ - Find all references and rename now works for variable references listed in `compact` arguments.
9
+ - Setting to control if method override/implementation suggestions should include a placeholder method body -- `intelephense.completion.withMethodBody`. Defaults to `true`.
10
+ - 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.
11
+
12
+ #### Changed
13
+ - 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`.
14
+ - Improved how unused variable reporting works when `compact` is encountered.
15
+ - Improved type inference of array elements when key is a simple variable.
16
+ - Improved template type resolution for templates that appear in constraints of other templates.
17
+ - Find all implementations now works for all methods, previously it was restricted to abstract or interface declared methods.
18
+ - Find all declarations will now get the root declaration(s) in a type hierarchy regardless of whether it is an interface or abstract declaration.
19
+ - Crash telemetry now defaults to disabled.
20
+
21
+ #### Fixed
22
+ - False method compatibility error with abstract trait method and base class with final method implementation.
23
+ - Highlight not working when origin is variadic parameter in PHPDoc.
24
+ - Added back auto prefix `$` to variable renames if applicable.
25
+ - Reference/rename not working for variables in anonymous class declaration argument list.
26
+
27
+ ## [1.17.3 - 2026-03-04]
28
+
29
+ #### Added
30
+ - Setting `intelephense.diagnostics.suppressUndefinedMembersWhenMagicMethodDeclared` to configure if undefined method and property diagnostics should be suppressed if magic methods are declared. Defaults to `true`.
31
+ - Setting `intelephense.diagnostics.severity` to configure the severity of each diagnostic.
32
+ - Setting `intelephense.diagnostics.strictTypes` to configure type checks to be performed as if `declare(strict_types=1)` has been declared in every file. Defaults to `false`.
33
+ - Setting `intelephense.diagnostics.exclude` to disable some or all diagnostics on a per file basis.
34
+
35
+ #### Fixed
36
+ - Various control flow analysis and type inference issues.
37
+ - PHPDoc completion missing `@throws` or showing `@throws mixed`.
38
+
3
39
  ## [1.17.2 - 2026-02-23] Pre-release
4
40
 
5
41
  #### Added