What's Changed
Fixes
- [6.x] Fix: class_alias() of an enum, interface, attribute, trait or type holder crashes with Could not get class storage by @alies-dev in #12518
- [6.x] Fix: type imported through a class_alias() is lost inside an intersection by @alies-dev in #12569
- [6.x] Fix: accept TLiteralClassString of a trait as trait-string by @no-simpler in #11783
- [6.x] Fix: false InvalidAttribute for
#[\Deprecated]on traits (PHP 8.5) by @alies-dev in #12277 - [6.x] Narrow Redis keys(), hKeys() and hVals() to lists, declare RedisException and RedisClusterException by @alies-dev in #12581
- [6.x] Fix crash on first-class callable of inherited method by @alies-dev in #12582
- [6.x] Treat New Relic PHP ext functions as impure and correct their signatures by @alies-dev in #12293
- Fix: first-line locations drop the first byte and use a 0-based column by @alies-dev in #12588
- Fix: false
RedundantConditionGivenDocblockTypefor @Property on a nullable object by @alies-dev in #12640 - fix(ternary): narrow an offset of a mixed variable the way an if does by @jirkace in #12651
Internal changes
- [6.x] Perf: update the reference cache once per analysis by @alies-dev in #12575
- Add a #psalm hashtag to release announcements by @danog in #12584
- Merge 6.x into master by @alies-dev in #12589
- [7.x] Perf: Speed up comparing unions of literals, such as int-masks by @alies-dev in #12641
- Remove the Infection instructions from AGENTS.md by @danog in #12630
New Contributors
- @no-simpler made their first contribution in #11783
Full Changelog: 7.0.0-rc22...7.0.0-rc23