2.1.37
Improvements π§
- Show LoC/s performance metric with
-vvv --debug(phpstan/phpstan-src@47936f2) - Configurable memory cache thresholds for eviction (phpstan/phpstan-src@d9a1233)
Bugfixes π
- Fix closure type inference (phpstan/phpstan-src@bcdbfd8), #13993, #10612
- infinite loop in never returning function is allowed (#4516), #6458, #12813, thanks @canvural!
- fix: nested trait
@use, use original class file name to get trait data (#4813), thanks @calebdw!
Performance ποΈ
- Do
gc_disable()inbin/phpstanfor speedup (phpstan/phpstan-src@8acd93b) - Prevent repetitive calls to getArgs() (#4799), thanks @staabm!
- ExpressionTypeHolder: Prevent unnecessary work (#4800), thanks @staabm!
- ExpressionTypeHolder: re-use objects more often (#4801), thanks @staabm!
- PhpDocBlock - only ask immediate interfaces for PHPDocs to inherit (phpstan/phpstan-src@1104170)
- PhpDocBlock - only ask immediate traits (phpstan/phpstan-src@4d9f2b1)
- PhpDocBlock - skip abstract trait methods without PHPDoc (phpstan/phpstan-src@47aa39d)
- NodeDependencies: prevent unnecessary FileHelper::normalizePath() calls (#4809), thanks @staabm!
- FileCacheStorage: Don't use sprintf() on maybe huge strings (#4808), thanks @staabm!
- ConstantStringType: prevent unnecessary 4FBA work (#4810), thanks @staabm!
- CallPrivateMethodThroughStaticRule: cheap checks first (#4812), thanks @staabm!