What's Changed
- 90% of code rewritten to stability, performance and supporting more Laravel features
- Support Laravel 12–13; drop Laravel 11 (and update other dependencies)
- Require PHP 8.3+; drop PHP 8.2
- Require Psalm 7 beta; drop Psalm 6
- Speed up to 50x on big projects (caching)
- ⭐️ ⭐️ ⭐️ Extended taint-analysis support
- ⭐️ Support Model
@propertydeclarations (take precedence over migration-discovered properties) - ⭐️ Enhanced Model attribute type casting
- ⭐️ Compatible with Larastan generics
- Relationships
- Pagination
- Attribute
- ⭐️ Enhanced Scope detection (legacy
scopeXxx()and#[Scope]attribute) and support Scope interface - ⭐️ Expanded attribute types inferred from migrations (supports more types inc. vector)
- ⭐️ Custom Issues checkers:
Internals
- Remove
barryvdh/laravel-ide-helperdependency — facades and model properties are now resolved natively - Run tests faster (30x)
- Internal code type coverage 100%
- PER3 coding style
- Better test coverage
- Better DX for testing and contributing
Migration guide
composer require --dev psalm/plugin-laravel:^4.0 -WFull Changelog: v3.1.5...v4.0.0