What's Changed
Fixes
- [6.x] Fix crash when a closure unsets a by-reference captured variable (backport) by @alies-dev in #12058
- [6.x] Fix type variables bounded by another type variable (backport) by @alies-dev in #12059
- Fix: Stub generation for union types that result to scalar could not be converted to identifier by @Mirco91 in #11852
- Keep string|int|float|bool unions in generated stubs (backport) by @alies-dev in #13565
- Report a misplaced variable in a promoted property docblock as an issue, not a crash (backport) by @alies-dev in #13571
- Fix crash on a property assertion about a non-variable argument (backport) by @alies-dev in #13572
- Report a TypeParseTreeException in a @mixin / @psalm-require-* type as an issue, not a crash (backport) by @alies-dev in #13573
- Accept a name after the = or ... of a callable param (backport) by @alies-dev in #13574
- Fix crash on first-class callables in count()/gettype()/get_class() conditions (backport) by @alies-dev in #13575
- Fix cache reads crashing while another worker rewrites the entry (backport) by @alies-dev in #13576
- Fix warm-cache crash when a file is reached under two spellings of its path (backport) by @alies-dev in #13577
- Fix crash when a class is named only in a template's bound (backport) by @alies-dev in #13579
- Don't crash on a constant dividing by a zero constant of another class (backport) by @alies-dev in #13580
- Don't fold a shift by a negative number or zero to a negative power (backport) by @alies-dev in #13582
- Don't overflow the int range bound in a comparison with PHP_INT_MAX or PHP_INT_MIN (backport) by @alies-dev in #13583
- Fix crash when scope summaries contain non-UTF-8 strings (backport) by @alies-dev in #13585
- Fix crash on array_multisort() flags when Psalm runs on PHP 8.6 (backport) by @alies-dev in #13586
- Don't crash psalter on properties declared together (backport) by @alies-dev in #13587
- Accept a name before the = of a callable param (backport) by @alies-dev in #13578
- Fix crash of multi-threaded runs without posix (backport) by @alies-dev in #13581
- Fix crashes on
NAN,INFand out-of-range float literals on PHP 8.5+ (backport) by @alies-dev in #13584 - Accept memcached as a supported extension, as config.xsd and the stub say (backport) by @alies-dev in #13588
- [6.x] Fix: crash on count()/gettype()/get_class() conditions with php-parser < 5.9 by @alies-dev in #13594
- [6.x] Infer the offsetGet type when destructuring a non-Traversable ArrayAccess by @alies-dev in #13595
Internal changes
- Let the BC check accept the growing list of stubbed extensions (backport) by @alies-dev in #13590
New Contributors
Full Changelog: 6.20.10...6.20.11