What's Changed
Features
- Allow specifying flags to Codebase::isTypeContainedByType by @danog in #10829
- Allow more callable types as subtypes of
callable
by @weirdan in #10805 - Report
parent
being used in callable context when the class does not extend anything by @kkmuffme in #10838 - Report error for additional deprecated arg types in PHP 8.1/8.3 by @kkmuffme in #10824
- Add MissingClassConstType Issue by @jack-worman in #10828
- Enforce parameter names for consistent constructors by @kkmuffme in #10821
- Add misc missing errors for invalid callable methods by @kkmuffme in #10839
Fixes
- Forbid named arguments for ArrayAcccess methods by @weirdan in #10804
- Don't crash on invalid templates by @weirdan in #10806
- report error for single param name mismatch too since named args can even be used then by @kkmuffme in #10822
- add support for named arguments for filter_var and filter_input by @pilif in #10815
- When inside isset, make array fetch result nullable by @edsrzf in #10756
- Promoted properties missing in extended __construct should report PropertyNotSetInConstructor by @kkmuffme in #10817
- Updating signature of
getmxrr()
by @ThomasLandauer in #10847 - Improve string-int juggle consistency in array keys and display for int-like strings in type by @kkmuffme in #10814
- Fix storage not available in thread for intersection doc types by @simonberger in #10856
- Don't emit MissingOverrideAttribute for implicit Stringable implementations by @edsrzf in #10858
- Specify array return type of session_get_cookie_params by @jorgsowa in #10859
- Unknown @psalm annotation should not make whole docblock invalid by @kkmuffme in #10885
- Add
mail
to impure functions list by @smaddock in #10923 - Update PHP 8.2 Call map delta with refined types for string comparison functions by @gsteel in #10883
Docs
Internal changes
- fix tests running with other than called PHP binary if called with a non-default PHP binary by @kkmuffme in #10842
- Explicitly set value in config to fix warning in tests by @kkmuffme in #10843
- [PHP 8.4] Fixes for implicit nullability deprecation by @Ayesh in #10832
- Throw exception instead of silently logging issues occurred during scan by @danog in #10902
Other changes
- Fix conditional on non empty literal string by @VincentLanglet in #10912
- Ignore jsonSerialize for implementors of JsonSerializable by @josephwynn-sc in #10891
- Add XML functions to ImpureFunctionsList #10882 by @DKhalil in #10887
New Contributors
- @Ayesh made their first contribution in #10832
- @smaddock made their first contribution in #10923
- @josephwynn-sc made their first contribution in #10891
- @DKhalil made their first contribution in #10887
Full Changelog: 5.23.1...5.24.0