This week in addition to a bunch of bug fixes, we've also been doing a spot of housekeeping in our code. The following is quite technically heavy so if you're a non-developer, shield your eyes and read the less boring bits.
Much wider usage for class strings
As a reminder, XenForo 2.3 brings with it support for using native PHP class strings. For example, originally we used "class short names" to point to certain classes. While these were easy to write, it makes refactoring classes difficult, and you need these PHP doc comments to hint to code editors what object is ultimately returned in the code:
PHP:
/** @var \XF\Entity\User $user **/
$user = \XF::em()->create('XF:User');
Our preference going forwards is using class strings:
PHP:
$user = \XF::em()->create(\XF\Entity\User::class);
Because PHP natively understands these special strings, the issues with type hinting are no more, and doing things like renames of classes or moving classes becomes a much more trivial exercise.
Throughout the core XF code now, starting with RC3, we have replaced the majority of these legacy class short names with native class strings.