What’s Changed
Features
- Eloquent improvements:
- Resolve dynamic
where{Column}on Model direct calls (#1001) @alies-dev - Narrow Eloquent
Builderaggregate (avg(),max(),sum(), etc) returns using a known column type (#1005) @alies-dev - Type-check dynamic
where{Column}arguments on Eloquent relations (#939) @alies-dev - Validate multi-segment dynamic
where{Column}method calls (#980) @alies-dev - Narrow
pluck($value, $key)key type and cover relation chains (#968) @alies-dev - Narrow
Model::only()return shape from literal keys (#933) @alies-dev - Narrow MySQL
SETcolumns to literal union inModelPropertyHandler(#932) @alies-dev
- Resolve dynamic
- Macroable improvements:
- Recover macro closure docblocks from vendor packages via AST scan (#994) @alies-dev
- Use
Macroablereturn type info from docblock Psalm storage (#989) @alies-dev - Lock in fluent macro narrowing on closure
: staticreturn types (#987) @alies-dev
- CLI:
- Add
diagnosesubcommand for runtime introspection (#959) @alies-dev - Add tips for the
diagnosecommand and enhance config created by theinitcommand (#971) @alies-dev - Better defaults for
psalm-laravel initcommand @alies-dev
- Add
- Resolve
Model::factory()->create()collapse on bareHasFactory(#964) @alies-dev - Multi-target facade dispatch for Auth/Cache/Session/Storage/Mail (#907) @alies-dev
- Narrow
auth($name)return to concrete guard class (#981) @alies-dev - Narrow
Storage::disk()return toCloudfor cloud-driver disks (#982) @alies-dev - Resolve Carbon cascade + narrow dual-purpose method returns #922 (#950) @alies-dev
- Accept variadic strings on
Route::middlewarefacade andRouteRegistrar(#986) @alies-dev - Narrow
Request::file()via source-level conditional return (#935) @alies-dev
Fixes
- Dead code mode improvements (
PossiblyUnusedMethod):- Suppress
PossiblyUnusedMethodfor legacyscopeXxx()Eloquent methods (#999) @alies-dev - Suppress
PossiblyUnusedMethodfor#[Scope]-attributed Eloquent methods (#998) @alies-dev
- Suppress
- Anchor
config_path()at the project root under Testbench fallback (#949) @alies-dev
Full Changelog: v3.10.2...v3.11.0