Release 5.5.1 supporting PHP 7.0-8.4 syntax
New features
- Add GitHub Issue Printer for GitHub Actions #5025
- Check write access for property using asymmetric visibility.
New issue type:
PhanAccessSetPropertyWrongContext#5027
Bug fixes
- Fixed crash when using PHPDocRedundantPlugin on doc comment containing
@throws#5003 - Infer intersection types in
instanceofwith generic types #4673 - Distinguish anonymous classes on the same line #4823
- Do not warn for trailing commas in function calls when using the polyfill parser in PHP 8 #5008
- Ignore
@extendsand@inheritused on interfaces, to avoid false positivePhanAccessWrongInheritanceCategoryInternalissues (phan does not support generic interfaces yet) #5002 - Addressed various limitations in analysis of generic types #5013
- Prevent generic type parameters from leaking out of function calls where some generic types aren't filled #4982
- Do not emit issues about invalid callables for parameters taking
string|callableorarray|callable - Do not emit
PhanUndeclaredConstantetc. when the constant may not be loaded yet #4855 - Fix the issue message for
CompatibleIntersectionTypeto state that PHP 8.1 is required, not PHP 8.0 #5017 - Handle possibly undefined keys when merging array shapes #4864
- Type checks involving generic classes and inheritance now detect more errors when the parent and child type parameters are not the same, and provide substituted template types in error messages. #5011
- Support validating callable arrays where the object is of intersection type #4851
- Handle PhanAttributeWrongTarget for constructor property promotion #4915
- Improve handling of promoted properties also declared via doc comments #5022
- Improve handling of never-typed functions and methods #4779
- Improve real type inference for array union #5029