New
5.5.2
October 4 2025, Phan 5.5.2
New features:
- Add some PHP 8.5 compatibility support - full support will be in Phan 6.x
Bug fixes:
- Fix never-return type narrowing #5078
- Fix issue #5063: Handle edge cases in type analysis
- Fix issue #5074: Type inference improvements
- Handle intersection types in
@throwsannotations #5073 - Fix SelfType instantiation for class constants #5057
- Map overridden method types before inheriting them #5068
- Resolve
staticbefore emitting PhanTypeMismatchReturn #5067 - Complain about ArrayObject/ArrayIterator with objects #5064
- Allow
@extends/@inheritsin PHPDoc on traits again #5061 - Normalize generic multi-type elements before expanding them #5059
- Use
mixedinstead of empty union to substitute unspecified template types #5058 - Flag 'catch' variables declared as unused in PHP 8 #5050
- Fixed -l handling to support one or multiple files #5056
- Add hash options argument to the 8.1 function signature delta map #5048
- Increase max recursion depth in asExpandedTypes #5046
- Infer more partial types for array union #5047
- Restore compatibility with older php-ast #5045
- Consider ClosureType as callable in CallableParamPlugin #5041
- Move code for complex callables from ContextNode to UnionTypeVisitor #5039
- Respect log_error for invalid maybe-callable FQSENs #5038
- Emit issues for duplicate
@templateannotations #5082
Plugins:
- UseReturnValuePlugin: support
#[\NoDiscard]attribute #5051
Maintenance:
- Update php-ast to 1.1.3 #5042