Download Latest Version 2.2.7 source code.zip (11.9 MB)
Email in envelope

Get an email when there's a new version of PHPStan

Home / 2.2.7
Name Modified Size InfoDownloads / Week
Parent folder
phpstan.phar 2026-07-29 27.9 MB
phpstan.phar.asc 2026-07-29 833 Bytes
2.2.7 source code.tar.gz 2026-07-29 11.9 MB
2.2.7 source code.zip 2026-07-29 11.9 MB
README.md 2026-07-29 5.4 kB
Totals: 5 Items   51.7 MB 0

Bugfixes 🐛

  • Preserve maybe-certainty only for Variable when narrowing the base of ?->, ??, isset() and empty() (#6109), [#15002], thanks @staabm and @VincentLanglet!
  • Do not key the container cache on the turbo extension state (#6121)
  • Fill the missing gaps in expr processing (https://github.com/phpstan/phpstan-src/commit/eea2788d99ce05adb104fef837479d3e5aefe9fb)
  • Resolve a relative include against the trait file in a trait context (#6127), thanks @zonuexe!
  • Do not let type narrowing define a certainly-undefined variable (#6130), [#2032]
  • Merge all callable acceptors' parameters into NativeParameterReflection when a closure is passed to a union of callables (#6128), [#15003], thanks @staabm and @VincentLanglet!
  • Treat a property with a default value as always set in isset resolution (#6131), [#10786]
  • Read already-processed expression types from ExpressionResults in NodeScopeResolver (#6139), [#13253]
  • Resolve __DIR__ and __FILE__ against the trait file in a trait context (#6126), [#15015], thanks @zonuexe!

Performance 🏎️

Internals 🔍

Source: README.md, updated 2026-07-29