What's Changed
Features
- [6.x] Report string increments as deprecated since PHP 8.5 (backport) by @alies-dev in #12062
- Support generic exception classes in @throws by @orcnd in #12090
Fixes
- [6.x] Fix implode() inferring non-empty-string for possibly empty elements (backport) by @alies-dev in #12054
- [6.x] Fix: respect ERROR_LEVEL for plugin-defined issues (backport) by @alies-dev in #12060
- [6.x] Fix InvalidCast when casting a type variable to string (backport) by @alies-dev in #12055
- [6.x] Fix crash on multibyte literal haystack on PHP 8.5 (backport) by @alies-dev in #12053
- [6.x] Support parenthesized union types in @method parameters (backport) by @alies-dev in #12057
- [6.x] Resolve
parent::first-class callables of@methodpseudo-methods by @alies-dev in #12148 - [6.x] Fix: type aliases depend on declaration order by @alies-dev in #12149
- Reset $_SESSION after session_unset() by @TheNetherWatcher in #12087
- [6.x] Model nullsafe short-circuiting across the whole chain by @alies-dev in #12064
Docs
- [6.x] Docs: clearer UnusedParam example and --config usage (backport) by @alies-dev in #12063
- Docs: mention that findUnusedCode is on by default in v6 by @TheNetherWatcher in #12085
Internal changes
- [6.x] Allow plugin issues to specify custom documentation URLs (backport) by @alies-dev in #12061
Other changes
New Contributors
- @orcnd made their first contribution in #12090
- @TheNetherWatcher made their first contribution in #12085
Full Changelog: 6.19.1...6.19.2