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
+2Lines changed: 2 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -28,6 +28,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
28
28
29
29
-**Elseif chain narrowing.** In `if/elseif/else` chains, the else branch now strips types from all preceding conditions. For example, `if (is_string($x)) {} elseif (is_int($x)) {} else { $x-> }` correctly narrows `$x` by excluding both `string` and `int`.
30
30
-**Variadic `@param` template bindings.**`@param class-string<T> ...$items` now correctly binds the template parameter. Previously the `...` prefix prevented the parameter name from being recognized, so generic return types were not substituted.
31
+
-**Laravel relationship classification.** Relationship return types that are fully-qualified to a non-Eloquent namespace (e.g. a custom `App\Relations\HasMany`) are no longer misclassified as Eloquent relationships. Only types under `Illuminate\Database\Eloquent\Relations\` or unqualified short names are recognized.
32
+
-**Memory usage after go-to-implementation and find references.** Files transiently loaded during implementation scanning and workspace indexing are now evicted from the AST cache when they are not open in the editor. Previously these entries accumulated and increased memory usage over time.
31
33
-**`@phpstan-type` aliases in foreach.** Type aliases defined via `@phpstan-type` or `@psalm-type` now resolve correctly when the aliased type is iterated in a `foreach` loop, destructured with `list()`/`[]`, or used as a foreach key type.
32
34
-**Mixed `->` then `::` accessor chains.** Expressions like `$obj->prop::$staticProp` and `$obj->method()::staticMethod()` now resolve through the full chain instead of losing the instance prefix.
33
35
-**Inline `(new Foo)->method()` chaining.** Parenthesized `new` expressions used as the root of a method chain now resolve for completion. Previously only assigned `new` expressions (`$x = new Foo()`) worked.
| 75 | Evict transiently-loaded files from ast_map after GTI and Find References | Low | LSP Features |[bugs.md §13](todo/bugs.md#13-evict-transiently-loaded-files-from-ast_map-after-gti-and-find-references)|
197
191
198
192
---
199
193
@@ -216,7 +210,6 @@ separately by their own impact÷effort scoring.
0 commit comments