This release has been in the works for a year. But it doesn’t mean there hasn’t been anything else released for a year. After starting the work on PHPStan 1.11 I continued working on 1.10.x series in parallel, bringing 54 releases into the world between April 2023 and 2024. But at some point earlier this year I said “enough!” and couldn’t resist finally bringing the awesome improvements in 1.11 over the finish line and into the world.| PHPStan Blog
MenuEnhancements in Handling Parameters Passed by Reference in PHPStan 1.10.60| phpstan.org
MenuRestricted Usage Extensions—You Don’t Always Need a Custom Rule| phpstan.org
MenuPHPStan 2.1: Support For PHP 8.4’s Property Hooks, and More!| phpstan.org
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.| PHPStan Blog
After three years since the initial PHPStan 1.0 release, we’re getting closer to PHPStan 2.0. After sifting through my list of ideas for the new major version, I realized I can move some of them forward and release them in 1.x series and hide them behind the Bleeding Edge config toggle, so they can be enjoyed by PHPStan users sooner.| PHPStan Blog
MenuPHPStan Reports Different Errors Locally & in CI. What Should I Do?| phpstan.org
MenuDebugging PHPStan Performance: Identify Slow Files| phpstan.org
MenuA guide to call-site generic variance| phpstan.org
MenuPreprocessing the AST for custom rules| phpstan.org
MenuUsing RuleErrorBuilder to enrich reported errors in custom rules| phpstan.org
MenuSolving PHPStan error “Access to an undefined property”| phpstan.org