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
+3Lines changed: 3 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -28,6 +28,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
28
28
-**Eloquent `$dates` and `where{Property}` go-to-definition.** Ctrl+clicking a property backed by the `$dates` array now jumps to the string entry inside `$dates`, matching the behaviour already supported for `$casts`, `$attributes`, `$fillable`, `$guarded`, `$hidden`, `$visible`, and `$appends`. Ctrl+clicking a `where{Property}()` dynamic method (e.g. `whereFlour`, `whereKitchenId`) now jumps to the corresponding column entry in whichever Eloquent array defines that column.
29
29
-**Property `self`/`static` type resolution.** Properties declared with `@var self|null` or `static` type annotations now resolve to the owning class name instead of displaying the raw `self`/`static` keyword in hover and type inference.
30
30
-**Magic `__get` property access.** Accessing undefined properties on objects with a `__get` method now resolves to the method's declared return type, even when `__get` has no template parameters (e.g. `SimpleXMLElement::$child` resolves to `SimpleXMLElement`).
31
+
-**By-reference out-parameters no longer flagged as unused.** Variables passed to functions with known by-reference out-parameters (e.g. `getmxrr($domain, $hosts)`, `preg_match($pattern, $subject, $matches)`) are now treated as used, eliminating false-positive unused-variable diagnostics.
32
+
-**Composer `files` autoload packages now indexed.** Vendor packages that register a custom autoloader via `spl_autoload_register` in their `"autoload": {"files": [...]}` entries now have their entire package directory scanned for classes, fixing "Class not found" diagnostics for packages like `dms/phpunit-arraysubset-asserts`.
33
+
-**Classmap collision resolution.** When two files in the same package declare the same fully-qualified class name (e.g. conditional loading with a normal and empty variant), the file whose name matches the class name (PSR-4 convention) is now preferred.
31
34
-**Magic `__call` method return type.** Calling undefined methods on objects with a `__call` method now resolves to `__call`'s declared return type for hover and type inference.
32
35
-**SoapClient arbitrary methods.** Calling any method on `SoapClient` (or subclasses) no longer produces false-positive "unknown member" diagnostics. SoapClient is a SOAP proxy where any method name is valid at runtime.
33
36
-**Property narrowing in type error diagnostics.** Properties narrowed via `instanceof` checks (e.g. `if ($this->service instanceof MockInterface)`) now use the narrowed type when checking argument compatibility, eliminating false positives in test code that uses Mockery or similar patterns.
0 commit comments