What's Changed
Features
- Declaring more precise types and purity boundaries on
ext-reflection
symbols in.phpstub
files by @Ocramius in #8722 - Literal inferring for array_column, array_combine, array_fill_keys, array_fill by @danog in #8850
- Recognize casts from object-with-properties to array by @weirdan in #8913
Fixes
- List refactoring v5 by @danog in #8820
- Improve parsing of list shapes by @danog in #8841
- Fix DOM and Reflection unreflectable methods by @othercorey in #8899
- Fix remaining invalid unreflectable methods by @othercorey in #8900
- Fix array_merge edge case by @danog in #8907
- fix return type never for static function calls by @kkmuffme in #8902
- Fix DOMDocument's propertery name preserveWhiteSpace by @sasezaki in #8918
- Make
sprintf
returnnon-empty-string
when possible by @fluffycondor in #8922 - More array_merge improvements by @danog in #8924
- Make md5 return type more precise by @fluffycondor in #8928
- Fix #8923 by @danog in #8929
- Skip intersection of template types during inheritance check by @danog in #8926
- Fix ReflectionClass stub by @VincentLanglet in #8930
Docs
Internal changes
- Replace unmaintained
openlss/lib-array2xml
withspatie/array-to-xml
by @weirdan in #8895 - Add validation for Class::Method names in CallMap by @othercorey in #8826
- Use rector to add property typehints by @jack-worman in #8887
- Add property typehints in Internal directory by @jack-worman in #8897
- Deprecation message on loading php-ext stubs without explicitly declaring them as dependency or in a config by @lptn in #8885
- Last property typehints by @jack-worman in #8910
- Remove useless ifs by @jack-worman in #8916
New Contributors
Full Changelog: 5.2.0...5.3.0