You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/CHANGELOG.md
+1Lines changed: 1 addition & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -40,6 +40,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
40
40
-**Remove always-true `assert()` code action.** When PHPStan reports `function.alreadyNarrowedType` for a call to `assert()` that will always evaluate to true, a quickfix offers to delete the no-op statement. Only `assert()` calls are matched — other functions sharing the same identifier (e.g. `is_string()` inside conditions) are excluded because removal would change control flow. The diagnostic is eagerly cleared once `assert(` no longer appears on the line.
41
41
-**Fix void return mismatch code actions.** When PHPStan reports `return.void` (a void function returns an expression), a quickfix strips the expression to produce a bare `return;`. When PHPStan reports `return.empty` (a non-void function has a bare `return;`), a quickfix changes the native return type to `void` and removes any `@return` docblock tag. The two actions chain naturally: fixing `return.void` may trigger `return.empty`, which then fixes the signature.
42
42
-**Remove unreachable statement code action.** When PHPStan reports `deadCode.unreachable`, a quickfix deletes the dead statement. The statement-removal helper is shared infrastructure that a future native dead-code diagnostic (D6) can reuse.
43
+
-**Eloquent `$appends` array.** Entries in a model's `$appends` property now produce virtual properties, matching the existing treatment of `$fillable`, `$guarded`, `$hidden`, and `$visible`.
| L13 |[`where{PropertyName}()` dynamic methods on Builder](todo/laravel.md#l13-wherepropertyname-dynamic-methods-on-builder)| High | Medium |
28
-
| H17 |[`missingType.iterableValue` — add `@return` with inferred element type](todo/phpstan-actions.md#h17-missingtype-iterablevalue-return-type--add-return-with-iterable-type)| Medium | High |
29
-
| H10 |[`return.unusedType` — remove unused type from return union](todo/phpstan-actions.md#h10-returnunusedtype--remove-unused-type-from-return-union)| Medium | Medium |
30
-
| H6 |`return.type` — update return type to match actual returns | Medium | Medium |
| L13 |[`where{PropertyName}()` dynamic methods on Builder](todo/laravel.md#l13-wherepropertyname-dynamic-methods-on-builder)| High | Medium |
27
+
| H17 |[`missingType.iterableValue` — add `@return` with inferred element type](todo/phpstan-actions.md#h17-missingtype-iterablevalue-return-type--add-return-with-iterable-type)| Medium | High |
28
+
| H10 |[`return.unusedType` — remove unused type from return union](todo/phpstan-actions.md#h10-returnunusedtype--remove-unused-type-from-return-union)| Medium | Medium |
29
+
| H6 |`return.type` — update return type to match actual returns | Medium | Medium |
| D8 |[Undefined variable diagnostic](todo/diagnostics.md#d8-undefined-variable-diagnostic)| High | Medium |
38
+
| D11 |[Invalid class-like kind in context](todo/diagnostics.md#d11-invalid-class-like-kind-in-context)| Medium | Low |
39
+
||**Release 0.8.0**|||
41
40
42
41
> **Note:** F1 (Workspace symbol search), F2 (Document symbols), A8
43
42
> (Implement interface methods), A9 (Auto import), D1 (Unknown class
@@ -94,7 +93,7 @@ unlikely to move the needle for most users.
94
93
||**[Type Inference](todo/type-inference.md)**|||
95
94
| T19 |[Structured type representation](todo/type-inference.md#t19-structured-type-representation) (replace string-based types with `PhpType` enum) | High | Very High |
@@ -104,16 +103,15 @@ unlikely to move the needle for most users.
104
103
| T10 |[Ternary expression as RHS of list destructuring](todo/type-inference.md#t10-ternary-expression-as-rhs-of-list-destructuring)| Low | Low-Medium |
105
104
| T11 |[Nested list destructuring](todo/type-inference.md#t11-nested-list-destructuring)| Low | Low-Medium |
106
105
||**[Diagnostics](todo/diagnostics.md)**|||
107
-
108
106
| D5 | Diagnostic suppression intelligence | Medium | Medium |
109
-
| D12 |[Mago linter integration](todo/diagnostics.md#d12-mago-linter-integration-optional-diagnostics) (optional, ~159 AST-only lint rules) | Medium | Medium |
107
+
| D12 |[Mago linter integration](todo/diagnostics.md#d12-mago-linter-integration-optional-diagnostics) (optional, ~159 AST-only lint rules) | Medium | Medium |
| A8 |[Update docblock to match signature](todo/actions.md#a8-update-docblock-to-match-signature)| Medium | Medium |
115
113
| A16 |[Snippet placeholder for extracted method name](todo/actions.md#a16-snippet-placeholder-for-extracted-method-name) (lets the user type over the generated name immediately) | Medium | Low-Medium |
@@ -133,7 +131,7 @@ unlikely to move the needle for most users.
133
131
||**[CLI Fix Rules](todo/fix-cli.md)**|||
134
132
| FX1 |[`deprecated` — replace deprecated symbol usage](todo/fix-cli.md#fx1-deprecated--replace-deprecated-symbol-usage)| Medium | Medium |
135
133
| FX2 |[`unused_variable` — remove unused variables](todo/fix-cli.md#fx2-unused_variable--remove-unused-variables)| Medium | Medium |
136
-
| FX3 |[`phpstan.return.unusedType` — remove unused type from return union](todo/fix-cli.md#fx3-phpstanreturnunusedtype--remove-unused-type-from-return-union)| Medium | Medium |
134
+
| FX3 |[`phpstan.return.unusedType` — remove unused type from return union](todo/fix-cli.md#fx3-phpstanreturnunusedtype--remove-unused-type-from-return-union)| Medium | Medium |
137
135
| FX4 |[`phpstan.missingType.iterableValue` — add `@return` with iterable type](todo/fix-cli.md#fx4-phpstanmissingtypeiterablevalue--add-return-with-iterable-type)| Medium | Medium |
0 commit comments