phan v2.7.0 Release Notes
Release Date: 2020-04-01 // about 4 years ago-
๐ New features(CLI, Configs):
- Sort output of
--dump-ctags=basic
by element type before sorting by file name (#3811)
(e.g. make class and global function declarations the first tag type for a tag name) - 0๏ธโฃ Colorize the output of
phan_client
by default for the default and text output modes. (#3808)
โ Addphan --no-color
option to disable colors. - Warn about invalid CLI flags in
phan_client
(#3776) - ๐ Support representing more AST node types in issue messages. (#3783)
- ๐ Make some issue messages easier to read (#3745, #3636)
- ๐ Allow using
--minimum-severity=critical
instead of--minimum-severity=10
(#3715) - 0๏ธโฃ Use better placeholders for parameter default types than
null
in issue messages and hover text (#3736) - ๐ Release
phantasm
, a prototype tool for assembling information about a codebase and aggressively optimizing it.
Currently, the only feature is replacing class constants with their values, when safe to do so.
โก๏ธ More features (e.g. inlining methods, aggressively optimizing out getters/setters, etc.) are planned for the future.
๐ Seetool/phantasm --help
for usage.
๐ New features(Analysis):
- ๐ Improve analysis of php 7.4 typed properties.
๐ Support extracting their real union types from Reflection information.
0๏ธโฃ Infer the existence of properties that are not inReflectionClass->getPropertyDefaults()
0๏ธโฃ due to being uninitialized by default. - Emit
PhanAbstractStaticMethodCall*
when calling an abstract static method statically. (#3799) - Emit
PhanUndeclaredClassReference
instead ofPhanUndeclaredClassConstant
forMissingClass::class
.
Language Server/Daemon mode:
- ๐ Catch exception seen when printing debug info about not being able to parse a file.
- Warn when Phan's language server dependencies were installed for php 7.2+
but the language server gets run in php 7.1. (phpdocumentor/reflection-docblock 5.0 requires php 7.2) - Immediately return cached hover text when the client repeats an identical hover request. (#3252)
Miscellaneous:
- ๐ PHP 8.0-dev compatibility fixes, analysis for some new functions of PHP 8.0-dev.
- โ Add
symfony/polyfill-php72
dependency so that symfony 5 will work better in php 7.1.
๐ The next Phan major release will drop support for php 7.1.
- Sort output of