PHPStan 2.0 is Here
Last updated on by Paul Redmond
PHPStan just released v2.0.0 this week! This massive update is three years in the making, consisting of over 180 items in the release. Creator Ondřej Mirtes had this to say about the release of PHPStan 1.0 over three years ago and now releasing 2.0:
PHPStan 1.0 was released a little over three years ago. I’m happy to report the project is thriving! We did about 176 new releases since then, implementing new features, fixing bugs, and laying the groundwork for 2.0. Yeah, we didn’t catch a break and we didn’t rest on our laurels.
I’ve been looking forward to 2.0 for a long time. Everyone will finally be able to enjoy new features we’ve been working on. Some of them have already been enjoyed by early adopters for more than two years.
As mentioned, the 2.0 release includes 180 items, but here are some of the main features highlighted in the PHPStan 2.0 Release post:
Main Features Available in 2.0
- Level 10 - level 9 on steroids, treats all mixed types strictly, not just explicit mixed.
- List type - Lists are arrays with sequential integer keys starting at 0.
- Lower memory consumption - In testing, memory consumption was reduced by 50–70 %.
-
Validate inline PHPDoc
@var
tag type - PHPStan 2.0 validates the inline @var tag type against the native type of the assigned expression. - Less caching and disk space cleanup - less caching without slowing down was a huge win in 2.0. Depending on the project size, you will notice a reduction in occupied disk space.
Read the comprehensive 2.0.0 release notes to find out everything that is included. Then, follow the step-by-step upgrade guide to upgrade from PHPStan 1.0 to 2.0.
Support PHPStan
The PHPStan project is open-source, and its development is supported by folks like you via PHPStan Pro or GitHub Sponsors.