Mago 1.0.0-rc.10
This release focuses on reducing false positives across multiple analysis scenarios, improving type system accuracy, and enhancing PHP compatibility.
Bug Fixes
Analyzer
- Fixed impossible type assertion false positive when comparing interfaces - a class can implement multiple interfaces, so
Foocan beBarat runtime (#707) - Corrected template resolution regression affecting PSL and other libraries using generic parameters from class-strings
- Fixed false positive when checking
$value === []on non-null or mixed types (#701) - Resolved false positive
unimplemented-abstract-property-hookincorrectly reported on interfaces - Infer
Iteratorkey/value types fromkey()andcurrent()method return types - Support
floatandarray-keyin string concatenation with improved__toStringtrait detection - Fixed callable-to-array reconciliation and interface throwable checks in catch blocks
- Added missing
$_COOKIEsuperglobal
Codex
- Resolved false positive redundant condition for integer range identity comparisons (#706)
- Fixed trait
selftype resolution to use intersection with@require-implements/@require-extendsconstraints
Prelude
- Fixed
call_user_funcandsprintfstubs withStringablesupport
Improvements
Composer
- Added PHP 8.5 and 8.6 as compatible versions (#699)
Full Changelog: 1.0.0-rc.9...1.0.0-rc.10