github phan/phan 3.2.7
Release 3.2.7 supporting PHP 7.0-7.4 syntax

latest releases: 5.4.3, 5.4.2, 5.4.1...
3 years ago

The Phan 3.x release line uses php-ast's AST version 70 and supports the analysis of all PHP 8.0 syntax except attributes (when run with PHP 8).
The planned 4.x release line will use AST version 80 and require php-ast 1.0.10+ in order to parse/analyze PHP 8.0's #[] attributes

New features (Analysis):

  • Update real parameter names to match php 8.0's parameter names for php's own internal methods (including variadics and those with multiple signatures). (#4263)
    Update real parameter names, types, and return types for some PECL extensions.
  • Raise the severity of some php 8.0 incompatibility issues to critical.
  • Fix handling of references after renaming variadic reference parameters of fscanf/scanf/mb_convert_variables
  • Mention if PhanUndeclaredFunction is potentially caused by the target php version being too old. (#4230)
  • Improve real type inference for conditionals on literal types (#4288)
  • Change the way the real type set of array access is inferred for mixes of array shapes and arrays (#4296)
  • Emit PhanSuspiciousNamedArgumentVariadicInternal when using named arguments with variadic parameters of internal functions that are
    not among the few reflection functions known to support named arguments. (#4284)
  • Don't suggest instance properties as alternatives to undefined variables inside of static methods.

Bug fixes:

  • Support a non-null-mixed type and change the way analysis involving nullability is checked for mixed (phpdoc and real). (#4278, #4276)

Don't miss a new phan release

NewReleases is sending notifications on new releases.