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
@@ -42,6 +42,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
42
42
-**Nested key completion for literal arrays.** When a variable is assigned a literal array with nested associative arrays (e.g. `$cfg = ['db' => ['host' => 'x', 'port' => 3306]]`), completing `$cfg['db']['` now offers the nested keys. Previously only a `@var array{...}` docblock produced nested completions. Works at arbitrary nesting depth, inside class methods, and at the top level.
43
43
-**Generator yield type inference inside generator bodies.** When a function or method declares `@return Generator<TKey, TValue, TSend, TReturn>`, variables inside the generator body are now typed from the annotation. Variables that appear as the operand of a `yield` statement are inferred as TValue (the 2nd generic parameter), and variables assigned from a yield expression (`$var = yield $expr`) are inferred as TSend (the 3rd generic parameter). Works in class methods, top-level functions, key-value yields (`yield $k => $v`), cross-file resolution via PSR-4, and all four Generator type parameter arities. Explicit assignments still take priority over yield inference.
44
44
-**Custom Eloquent collections.** Models that declare a custom collection via `#[CollectedBy(CustomCollection::class)]` or `/** @use HasCollection<CustomCollection> */ use HasCollection;` now resolve to the custom collection class instead of the standard `Illuminate\Database\Eloquent\Collection`. Custom collection methods appear in completions after `Model::where(...)->get()->`, after `Model::get()->`, and on relationship properties that return a collection of the model. The attribute takes priority over the trait when both are present. Works with short names, fully-qualified names, cross-file PSR-4 resolution, and same-file definitions. Models without a custom collection continue to use the standard Collection.
45
+
-**Eloquent `$visible` array extraction.** The `$visible` property on Eloquent models is now recognised as a source of column names, matching the existing handling of `$fillable`, `$guarded`, and `$hidden`. Columns listed in `$visible` that are not already covered by `$casts` or `$attributes` produce `mixed`-typed virtual properties.
0 commit comments