The Phan 3.x releases support analysis of php 7.0-7.4, and can be executed with php 7.2+.
Use the older Phan 2.x releases if you need to continue to execute Phan with php 7.1.
Use the older Phan 1.x releases if you need to execute Phan with php 7.0.
Backwards incompatible changes:
- Drop PHP 7.1 support. PHP 7.1 reached its end of life for security support in December 2019.
Many of Phan's dependencies no longer publish releases supporting php 7.1,
which will likely become a problem running Phan with future 8.x versions
(e.g. in the published phar releases). - Drop PluginV2 support (which was deprecated in Phan 2) in favor of PluginV3.
- Remove deprecated classes and helper methods.
New features(CLI, Config):
- Support
PHAN_COLOR_PROGRESS_BAR
as an environment variable to set the color of the progress bar.
Ansi color names (e.g.light_blue
) or color codes (e.g.94
) can be used. (See src/Phan/Output/Colorizing.php)
New features(Analysis):
- Infer that
foreach
keys and values of possibly empty iterables are possibly undefined after the end of a loop. (#3898) - Allow using the polyfill parser to parse internal stubs. (#3902)
(To support newer syntax such as union types, trailing commas in parameter lists, etc.)
Bug fixes
- Fix handling of windows path separators in
phan_client
(from 2.7.3-dev) - Fix a crash when emitting
PhanCompatibleAnyReturnTypePHP56
orPhanCompatibleScalarTypePHP56
for methods with no parameters. (from 2.7.3-dev)